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 language | Undefined |
---|---|
Title of host publication | Proceedings of the 18th International Conference on Engineering of Complex Computer Systems, ICECCS 2013 |
Place of Publication | USA |
Publisher | IEEE |
Pages | 212-221 |
Number of pages | 10 |
ISBN (Print) | 978-0-7695-5007-7 |
DOIs | |
Publication status | Published - Jul 2013 |
Event | 18th International Conference on Engineering of Complex Computer Systems, ICECCS 2013 - Singapore Duration: 17 Jul 2013 → 19 Jul 2013 |
Publication series
Name | |
---|---|
Publisher | IEEE Computer Society |
Conference
Conference | 18th International Conference on Engineering of Complex Computer Systems, ICECCS 2013 |
---|---|
Period | 17/07/13 → 19/07/13 |
Other | 17-19 July 2013 |
Keywords
- EWI-24441
- Qualitas Corpus
- Static Analysis
- IR-89586
- API usage
- METIS-302698
- java.util.concurrent