kirancodes.me
To Proof Maintenance & Beyond!

API code recommendation using statistical learning from fine-grained changes

Anh Tuan Nguyen, Michael Hilton, Mihai Codoban, Hoan Anh Nguyen, Lily Mast, Eli Rademacher, Tien N. Nguyen, Danny Dig

Abstract

Learning and remembering how to use APIs is difficult. While code-completion tools can recommend API methods, browsing a long list of API method names and their documentation is tedious. Moreover, users can easily be overwhelmed with too much information. We present a novel API recommendation approach that taps into the predictive power of repetitive code changes to provide relevant API recommendations for developers. Our approach and tool, APIREC, is based on statistical learning from fine-grained code changes and from the context in which those changes were made. Our empirical evaluation shows that APIREC correctly recommends an API call in the first position 59% of the time, and it recommends the correct API call in the top five positions 77% of the time. This is a significant improvement over the state-of-the-art approaches by 30-160% for top-1 accuracy, and 10-30% for top-5 accuracy, respectively. Our result shows that APIREC performs well even with a one-time, minimal training dataset of 50 publicly available projects.

BibTeX
@inproceedings{Nguyen-al:FSE16,
  author    = {Anh Tuan Nguyen and
               Michael Hilton and
               Mihai Codoban and
               Hoan Anh Nguyen and
               Lily Mast and
               Eli Rademacher and
               Tien N. Nguyen and
               Danny Dig},
  title     = {{API} code recommendation using statistical learning from fine-grained changes},
  booktitle = {FSE},
  pages     = {511--522},
  publisher = {{ACM}},
  year      = {2016},
}

Related papers