kirancodes.me
To Proof Maintenance & Beyond!

ExPort: Detecting and visualizing API usages in large source code repositories

Evan Moritz, Mario Linares Vásquez, Denys Poshyvanyk, Mark Grechanik, Collin McMillan, Malcom Gethers

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.

BibTeX
@inproceedings{Moritz-al:ASE13,
  author    = {Evan Moritz and
               Mario Linares V{\'{a}}squez and
               Denys Poshyvanyk and
               Mark Grechanik and
               Collin McMillan and
               Malcom Gethers},
  title     = {{ExPort:} Detecting and visualizing {API} usages in large source code repositories},
  booktitle = {ASE},
  pages     = {646--651},
  publisher = {{IEEE}},
  year      = {2013},
}

Related papers