DocumentCode
660601
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
fYear
2013
fDate
11-15 Nov. 2013
Firstpage
646
Lastpage
651
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
Conference_Location
Silicon Valley, CA
Type
conf
DOI
10.1109/ASE.2013.6693127
Filename
6693127
Link To Document