Collective Intelligence for Smarter API Recommendations in Python
Andrea Renika D'Souza, Di Yang, Cristina V. Lopes

TL;DR
This paper introduces PyReco, a Python code completion system that leverages mined API usage patterns and a nearest neighbor classifier to provide more relevant API suggestions, outperforming traditional alphabetic methods.
Contribution
PyReco is a novel API recommendation system for Python that uses mined usage data and machine learning to improve relevance over existing alphabetic approaches.
Findings
PyReco outperforms alphabetic API recommendations in relevance.
The system effectively uses usage patterns from open source repositories.
Evaluation with cross-validation confirms improved accuracy.
Abstract
Software developers use Application Programming Interfaces (APIs) of libraries and frameworks extensively while writing programs. In this context, the recommendations provided in code completion pop-ups help developers choose the desired methods. The candidate lists recommended by these tools, however, tend to be large, ordered alphabetically and sometimes even incomplete. A fair amount of work has been done recently to improve the relevance of these code completion results, especially for statically typed languages like Java. However, these proposed techniques rely on the static type of the object and are therefore inapplicable for a dynamically typed language like Python. In this paper, we present PyReco, an intelligent code completion system for Python which uses the mined API usages from open source repositories to order the results based on relevance rather than the conventional…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
