Code Recommender Systems (Helping Developers use APIs)
Do you often spend time searching for how to use a specific library to accomplish your programming task? Do you wish there was a concise code example that you can just integrate into your project? You are not alone. Many developers spend considerable time searching for APIs to use, known issues with a code snippet, or for examples to help them learn a new technology or library. Different types of recommender systems save developers some of this time and pain. In this line of work, we investigate various support tools and recommender systems (Code search, code completion, code generation, etc.) to help developers navigation API information more easily and write better code faster. To build code recommender systems, we curate and build data sets, build support techniques (e.g., code completion, code search, documentation navigation), and evaluate these techniques through quantitative empirical methods or qualitative methods (e.g., surveys or user studies). This line of work involves static code analysis, data mining, and natural language processing.
- Essential Sentences for Navigating Stack Overflow, arXiv
- Essential Sentences for Navigating Stack Overflow, SANER '20
- A Dataset of Non-Functional Bugs, MSR '19
- Enriching In-IDE Process Information with Fine-grained Source Code History, SANER '17
- Evaluating the Evaluations of Code Recommender Systems: A Reality Check, ASE '16