English
Related papers

Related papers: On the Documentation of Refactoring Types

200 papers

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

Programming Languages · Computer Science 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen

MOVEMETHOD is a hallmark refactoring. Despite a plethora of research tools that recommend which methods to move and where, these recommendations do not align with how expert developers perform MOVEMETHOD. Given the extensive training of…

Documenting frameworks provides its users and maintainers useful information on that software's architecture, design, and customization. Despite documentation's importance, the process of creating and maintaining it is considered to imply…

Software Engineering · Computer Science 2022-03-29 João Santos , Filipe Correia

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt , Matthias Felleisen

This report investigates the relationship between software refactoring and behavior preservation. Existing behavior preservation analyses often lack comprehensive insights into refactoring rejections and do not provide actionable solutions.…

Software Engineering · Computer Science 2024-11-14 Wouter Brinksma , William Wernsen , Evert Verduin , Herman Hilberink , Patrick de Beer , Lex Bijlsma , Harrie Passier

Tracking statements in the commit history of a project is in many cases useful for supporting various software maintenance, comprehension, and evolution tasks. A high level of accuracy can facilitate the adoption of code tracking tools by…

Software Engineering · Computer Science 2024-09-25 Mohammed Tayeeb Hasan , Nikolaos Tsantalis , Pouria Alikhanifard

The primary value of AI agents in software development lies in their ability to extend the developer's capacity for reasoning and action, not to supplant human involvement. To showcase how to use agents working in tandem with developers, we…

Video is a powerful medium for communication and storytelling, yet reauthoring existing footage remains challenging. Even simple edits often demand expertise, time, and careful planning, constraining how creators envision and shape their…

Human-Computer Interaction · Computer Science 2026-04-07 Sitong Wang , Anh Truong , Lydia B. Chilton , Dingzeyu Li

Refactoring is a critical process in software development, aiming at improving the internal structure of code while preserving its external behavior. Refactoring engines are integral components of modern Integrated Development Environments…

Software Engineering · Computer Science 2024-09-24 Haibo Wang , Zhuolin Xu , Huaien Zhang , Nikolaos Tsantalis , Shin Hwei Tan

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

A commit message is a textual description of the code changes in a commit, which is a key part of the Git version control system (VCS). It captures the essence of software updating. Therefore, it can help developers understand code…

Software Engineering · Computer Science 2024-01-17 Linghao Zhang , Jingshu Zhao , Chong Wang , Peng Liang

Software systems are evolving by adding new functions and modifying existing functions over time. Through the evolution, the structure of software is becoming more complex and so the understandability and maintainability of software systems…

Software Engineering · Computer Science 2014-08-22 Ginika Mahajan , Ashima

Refactoring is an essential activity during software evolution. Frequently, practitioners rely on such transformations to improve source code maintainability and quality. As a consequence, this process may produce new source code entities…

Software Engineering · Computer Science 2020-03-11 Aline Brito , Andre Hora , Marco Tulio Valente

Although some recent works show potential complementarity among different state-of-the-art systems, few works try to investigate this problem in text summarization. Researchers in other areas commonly refer to the techniques of reranking or…

Computation and Language · Computer Science 2021-04-16 Yixin Liu , Zi-Yi Dou , Pengfei Liu

Existing studies show that code summaries help developers understand and maintain source code. Unfortunately, these summaries are often missing or outdated in software projects. Code summarization aims to generate natural language…

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

Refactorings are transformations to improve the code design without changing overall functionality and observable behavior. During the refactoring process of smelly test code, practitioners may struggle to identify refactoring candidates…

Software Engineering · Computer Science 2023-05-08 Luana Martins , Denivan Campos , Railana Santana , Joselito Mota Junior , Heitor Costa , Ivan Machado

One single code change can significantly influence a wide range of software systems and their users. For example, 1) adding a new feature can spread defects in several modules, while 2) changing an API method can improve the performance of…

Software Engineering · Computer Science 2016-06-13 Daoyuan Li , Li Li , Dongsun Kim , Tegawendé F. Bissyandé , David Lo , Yves Le Traon

Commit messages play a crucial role in collaborative software development. They provide a clear and concise description of the changes made to the source code. However, many commit messages among students' projects lack useful information.…

Software Engineering · Computer Science 2024-02-05 Iris Ma , Cristina V. Lopes

A commit message describes the main code changes in a commit and plays a crucial role in software maintenance. Existing commit message generation (CMG) approaches typically frame it as a direct mapping which inputs a code diff and produces…

Software Engineering · Computer Science 2025-07-24 Bo Xiong , Linghao Zhang , Chong Wang , Peng Liang

Documentation is an important mechanism for disseminating software architecture knowledge. Software project teams can employ vastly different formats for documenting software architecture, from unstructured narratives to standardized…

Software Engineering · Computer Science 2023-05-30 Neil A. Ernst , Martin P. Robillard
‹ Prev 1 4 5 6 7 8 10 Next ›