DocumentCode
2003322
Title
Detecting inefficient API usage
Author
Kawrykow, David ; Robillard, Martin P.
Author_Institution
Sch. of Comput. Sci., McGill Univ., Montreal, QC
fYear
2009
fDate
16-24 May 2009
Firstpage
183
Lastpage
186
Abstract
Large software projects often rely on third-party libraries, made accessible through application programming interfaces (APIs). We have observed many cases where APIs are used in ways that are not efficient. We developed a technique to automatically detect inefficient API usage in software projects. The main hypothesis underlying the technique is that client code that imitates the behavior of a library method without calling it is likely not to use the library as efficiently as possible. In addition to warning developers of potentially inefficient API usage, our technique also indicates how to improve the use of the API. Application of the technique on Java open-source systems revealed many cases of inefficient API usage, and corresponding recommendations that led to code improvements.
Keywords
Java; application program interfaces; API; Java open-source system; application programming interface; software project; Application software; Computer languages; Computer science; Functional programming; Java; Open source software; Runtime library; Software libraries; Software systems; Uniform resource locators;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on
Conference_Location
Vancouver, BC
Print_ISBN
978-1-4244-3495-4
Type
conf
DOI
10.1109/ICSE-COMPANION.2009.5070977
Filename
5070977
Link To Document