Title :
Identifier-Based Context-Dependent API Method Recommendation
Author :
Heinemann, Lars ; Bauer, Veronika ; Herrmannsdoerfer, Markus ; Hummel, Benjamin
Author_Institution :
Tech. Univ. Munchen, Munich, Germany
Abstract :
Reuse recommendation systems support the developer by suggesting useful API methods, classes or code snippets based on code edited in the IDE. Existing systems based on structural information, such as type and method usage, are not effective in case of general purpose types such as String. To alleviate this, we propose a recommendation system based on identifiers that utilizes the developer´s intention embodied in names of variables, types and methods. We investigate the impact of several variation points of our recommendation algorithm and evaluate the approach for recommending methods from the Java and Eclipse APIs in 9 open source systems. Furthermore, we compare our recommendations to those of a structure-based recommendation system and describe a metric for predicting the expected precision of a recommendation. Our findings indicate that our approach performs significantly better than the structure-based approach.
Keywords :
Java; application program interfaces; programming environments; public domain software; recommender systems; software metrics; software reusability; Eclipse API; IDE; Java; code snippets; expected precision prediction; identifier-based context-dependent API method recommendation; metric; open source system; reuse recommendation system; Context; Data mining; Indexes; Java; Software systems; Vectors; data mining; identifier; recommendation system; software reuse;
Conference_Titel :
Software Maintenance and Reengineering (CSMR), 2012 16th European Conference on
Conference_Location :
Szeged
Print_ISBN :
978-1-4673-0984-4
DOI :
10.1109/CSMR.2012.14