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 :
بازگشت