Title :
ExPort: Detecting and visualizing API usages in large source code repositories
Author :
Moritz, E. ; Linares-Vasquez, Mario ; Poshyvanyk, Denys ; Grechanik, Mark ; McMillan, Collin ; Gethers, Malcom
Author_Institution :
Coll. of William & Mary, Williamsburg, VA, USA
Abstract :
This paper presents a technique for automatically mining and visualizing API usage examples. In contrast to previous approaches, our technique is capable of finding examples of API usage that occur across several functions in a program. This distinction is important because of a gap between what current API learning tools provide and what programmers need: current tools extract relatively small examples from single files/functions, even though programmers use APIs to build large software. The small examples are helpful in the initial stages of API learning, but leave out details that are helpful in later stages. Our technique is intended to fill this gap. It works by representing software as a Relational Topic Model, where API calls and the functions that use them are modeled as a document network. Given a starting API, our approach can recommend complex API usage examples mined from a repository of over 14 million Java methods.
Keywords :
application program interfaces; data mining; learning (artificial intelligence); program visualisation; source code (software); API learning tools; API usage detection; API usage visualization; ExPort; Java methods; automatic API usage mining; document network; large source code repositories; relational topic model; Concrete; Databases; Java; Portfolios; Prototypes; Software; Visualization; API usage; call graph; code search; visualization;
Conference_Titel :
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
Conference_Location :
Silicon Valley, CA
DOI :
10.1109/ASE.2013.6693127