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.
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Related Resources
Related Publications
2022
-
Does This Apply to Me? An Empirical Study of Technical Context in Stack Overflow
Akalanka Galappaththi, Sarah Nadi, and Christoph Treude
In Proceedings of the 19th ACM International Conference on Mining Software Repositories (MSR) , Aug 2022
2021
-
On Using Stack Overflow Comment-Edit Pairs to Recommend Code Maintenance Changes
Henry Tang, and Sarah Nadi
Empirical Software Engineering, Aug 2021
-
FACER: An API Usage-based Code-example Recommender for Opportunistic Reuse
Shamsa Abid, Shafay Shamail, Hamid Abdul Basit, and Sarah Nadi
Empirical Software Engineering, Aug 2021
2020
-
Essential Sentences for Navigating Stack Overflow
Sarah Nadi, and Christoph Treude
In Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER ’20), Aug 2020
2019
-
A Dataset of Non-Functional Bugs
Aida Radu, and Sarah Nadi
In Proceedings of the 16th International Conference on Mining Software Repositories (MSR ’19) – Data Showcase Track, Aug 2019
2017
-
Enriching In-IDE Process Information with Fine-grained Source Code History
Sebastian Proksch, Sarah Nadi, Sven Amann, and Mira Mezini
In Proceedings of the 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER ’17), Aug 2017
2016
-
A Dataset of Simplified Syntax Trees for C#
Sebastian Proksch, Sven Amann, Sarah Nadi, and Mira Mezini
In Proceedings of the 13th International Conference on Mining Software Repositories – Data Showcase Track (MSR ’16), Aug 2016
-
Addressing Scalability in API Method Call Analytics
Ervina Cergani, Sebastian Proksch, Sarah Nadi, and Mira Mezini
In 2nd International Workshop on Software Analytics (SWAN ’16), Aug 2016
-
Evaluating the Evaluations of Code Recommender Systems: A Reality Check
Sebastian Proksch, Sven Amann, Sarah Nadi, and Mira Mezini
In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE ’16), Singapore, Singapore, Aug 2016