English
Related papers

Related papers: APIzation: Generating Reusable APIs from StackOver…

200 papers

API documentation is often the most trusted resource for programming. Many approaches have been proposed to augment API documentation by summarizing complementary information from external resources such as Stack Overflow. Existing…

Software Engineering · Computer Science 2024-01-11 Chengran Yang , Jiakun Liu , Bowen Xu , Christoph Treude , Yunbo Lyu , Junda He , Ming Li , David Lo

Many code changes that developers make in their projects are repeated and constitute recurrent change patterns. It is of interest to collect such patterns from the version history of open-source repositories and suggest the most useful of…

Software Engineering · Computer Science 2021-08-26 Oleg Smirnov , Artyom Lobanov , Yaroslav Golubev , Elena Tikhomirova , Timofey Bryksin

Code review is widely known as one of the best practices for software quality assurance in software development. In a typical code review process, reviewers check the code committed by developers to ensure the quality of the code, during…

Software Engineering · Computer Science 2024-04-05 Beiqi Zhang , Liming Fu , Peng Liang , Jiaxin Yu , Chong Wang

An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the…

Software Engineering · Computer Science 2021-10-26 Anthony Peruma , Steven Simmons , Eman Abdullah AlOmar , Christian D. Newman , Mohamed Wiem Mkaouer , Ali Ouni

A code change pattern represents a kind of recurrent modification in software. For instance, a known code change pattern consists of the change of the conditional expression of an if statement. Previous work has identified different change…

Software Engineering · Computer Science 2018-07-06 Matias Martinez , Laurence Duchien , Martin Monperrus

Based on developer needs and usage scenarios, API (Application Programming Interface) recommendation is the process of assisting developers in finding the required API among numerous candidate APIs. Previous studies mainly modeled API…

Software Engineering · Computer Science 2023-09-14 Yafeng Gu , Yiheng Shen , Xiang Chen , Shaoyu Yang , Yiling Huang , Zhixiang Cao

API documentation is crucial for developers to learn and use APIs. However, it is known that many official API documents are obsolete and incomplete. To address this challenge, we propose a new approach called AutoDoc that generates API…

Software Engineering · Computer Science 2026-01-14 Bonan Kou , Zijie Zhou , Muhao Chen , Tianyi Zhang

Stack Overflow (SO) has been a great source of natural language questions and their code solutions (i.e., question-code pairs), which are critical for many tasks including code retrieval and annotation. In most existing research,…

Computation and Language · Computer Science 2018-03-28 Ziyu Yao , Daniel S. Weld , Wei-Peng Chen , Huan Sun

Code analyzers such as Error Prone and FindBugs detect code patterns symptomatic of bugs, performance issues, or bad style. These tools express patterns as quick fixes that detect and rewrite unwanted code. However, it is difficult to come…

Software Engineering · Computer Science 2018-09-11 Reudismam Rolim , Gustavo Soares , Rohit Gheyi , Titus Barik , Loris D'Antoni

Recently, deep learning techniques have shown great success in automatic code generation. Inspired by the code reuse, some researchers propose copy-based approaches that can copy the content from similar code snippets to obtain better…

Software Engineering · Computer Science 2023-09-08 Jia Li , Yongmin Li , Ge Li , Zhi Jin , Yiyang Hao , Xing Hu

Third-party libraries are a cornerstone of fast application development. To enable efficient use, libraries must provide a well-designed API. An obscure API instead slows down the learning process and can lead to erroneous use. The usual…

Software Engineering · Computer Science 2024-01-17 Lars Reimann , Günter Kniesel-Wünsche

Developers use Question and Answer (Q&A) websites to exchange knowledge and expertise. Stack Overflow is a popular Q&A website where developers discuss coding problems and share code examples. Although all Stack Overflow posts are free to…

Software Engineering · Computer Science 2017-03-14 Le An , Ons Mlouki , Foutse Khomh , Giuliano Antoniol

Understanding the behaviour of a system's API can be hard. Giving users access to relevant examples of how an API behaves has been shown to make this easier for them. In addition, such examples can be used to verify expected behaviour or…

Software Engineering · Computer Science 2023-08-30 Stefan Karlsson , John Hughes , Robbert Jongeling , Adnan Causevic , Daniel Sundmark

Python libraries are widely used for machine learning and scientific computing tasks today. APIs in Python libraries are deprecated due to feature enhancements and bug fixes in the same way as in other languages. These deprecated APIs are…

Software Engineering · Computer Science 2021-05-11 Aparna Vadlamani , Rishitha Kalicheti , Sridhar Chimalakonda

Jupyter Notebook is a popular tool among data analysts and scientists for working with data. It provides a way to combine code, documentation, and visualizations in a single, interactive environment, facilitating code reuse. While code…

Software Engineering · Computer Science 2023-02-24 Mingke Yang , Yuming Zhou , Bixin Li , Yutian Tang

Context: Application Programming Interface (API) code examples are an essential knowledge resource for learning APIs. However, a few user studies have explored how the structural characteristics of the source code in code examples impact…

Software Engineering · Computer Science 2024-04-04 Seham Alharbi , Dimitris Kolovos

AI-based code assistants are promising tools that can facilitate and speed up code development. They exploit machine learning algorithms and natural language processing to interact with developers, suggesting code snippets (e.g., method…

Software Engineering · Computer Science 2024-02-15 Vincenzo Corso , Leonardo Mariani , Daniela Micucci , Oliviero Riganelli

Existing code repositories contain numerous instances of code patterns that are idiomatic ways of accomplishing a particular programming task. Sometimes, the programming language in use supports specific operators or APIs that can express…

Software Engineering · Computer Science 2021-07-15 Aishwarya Sivaraman , Rui Abreu , Andrew Scott , Tobi Akomolede , Satish Chandra

Static program analysis tools are often required to work with only a small part of a program's source code, either due to the unavailability of the entire program or the lack of need to analyze the complete code. This makes it challenging…

Programming Languages · Computer Science 2020-09-14 Piyush Gupta , Nikita Mehrotra , Rahul Purandare

Abstract syntax tree (AST) mapping algorithms are widely used to analyze changes in source code. Despite the foundational role of AST mapping algorithms, little effort has been made to evaluate the accuracy of AST mapping algorithms, i.e.,…

Software Engineering · Computer Science 2021-03-02 Yuanrui Fan , Xin Xia , David Lo , Ahmed E. Hassan , Yuan Wang , Shanping Li