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.
Related Resources
Related Publications
2022
- MSRDoes This Apply to Me? An Empirical Study of Technical Context in Stack OverflowIn Proceedings of the 19th ACM International Conference on Mining Software Repositories (MSR) , 2022
2021
- EMSEFACER: An API Usage-based Code-example Recommender for Opportunistic ReuseEmpirical Software Engineering, 2021
- EMSEOn Using Stack Overflow Comment-Edit Pairs to Recommend Code Maintenance ChangesEmpirical Software Engineering, 2021
2020
- SANEREssential Sentences for Navigating Stack OverflowIn Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER ’20), 2020
2019
- MSRA Dataset of Non-Functional BugsIn Proceedings of the 16th International Conference on Mining Software Repositories (MSR ’19) – Data Showcase Track, 2019
2017
- SANEREnriching In-IDE Process Information with Fine-grained Source Code HistoryIn Proceedings of the 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER ’17), 2017
2016
- ASEEvaluating the Evaluations of Code Recommender Systems: A Reality CheckIn Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE ’16), 2016
- Addressing Scalability in API Method Call AnalyticsIn 2nd International Workshop on Software Analytics (SWAN ’16), 2016
- MSRA Dataset of Simplified Syntax Trees for C#In Proceedings of the 13th International Conference on Mining Software Repositories – Data Showcase Track (MSR ’16), 2016