How Do Developers Use APIs? A Case Study in Concurrency

Stefan Blom, Joseph Kiniry, Marieke Huisman

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Abstract

With the omnipresent usage of APIs in software development, it has become important to analyse how the routines and functionalities of APIs are actually used. This information is in particular useful for API developers, to make decisions about future updates of the API. However, also for developers of static analysis and verification tools this information is highly important, because it indicates where and how to put the most efficient effort in annotating APIs, to make them usable for the static analysis and verification tools. This paper presents an analysis of the usage of the routines and functionalities of the Java concurrency library java. util. concurrent. It discusses the Histogram tool that we developed for this purpose, i.e., to efficiently analyse a large collection of bytecode classes. The Histogram tool is used on a representative benchmark set, the Qualitas Corpus. The paper discusses the results of the analysis of this benchmark set in detail. This covers both an analysis of the important classes and methods used by the current releases of the benchmark collection, as well as an analysis of the time it took for the Java concurrency library to start being used in released software.
Original languageEnglish
Title of host publication2013 18th International Conference on Engineering of Complex Computer Systems (ICECCS)
PublisherIEEE
Publication date2013
Pages212-221
ISBN (Print)978-0-7695-5007-7
DOIs
Publication statusPublished - 2013
Event18th International Conference on Engineering of Complex Computer Systems (ICECCS 2013) - Singapore, Singapore
Duration: 17 Jul 201319 Jul 2013
http://www.comp.nus.edu.sg/~pat/iceccs2013/

Conference

Conference18th International Conference on Engineering of Complex Computer Systems (ICECCS 2013)
Country/TerritorySingapore
CitySingapore
Period17/07/201319/07/2013
Internet address

Keywords

  • API usage
  • Java.util.concurrent
  • Static analysis
  • Qualitas Corpus

Fingerprint

Dive into the research topics of 'How Do Developers Use APIs? A Case Study in Concurrency'. Together they form a unique fingerprint.

Cite this