English
Related papers

Related papers: Refactoring-Aware Patch Integration Across Structu…

200 papers

Fixing software faults contributes significantly to the cost of software maintenance and evolution. Techniques for reducing these costs require datasets of software faults, as well as an understanding of the faults, for optimal testing and…

Software Engineering · Computer Science 2025-08-13 Dylan Callaghan , Alexandra van der Spuy , Bernd Fischer

Linux kernel bug repair is typically approached as a direct mapping from crash reports to code patches. In practice, however, kernel fixes undergo iterative revision on mailing lists before acceptance, with reviewer feedback shaping…

Software Engineering · Computer Science 2026-04-07 Luyao Bai , Kenan Alghythee , Hang Zhang , Xiaoguang Wang

Detecting refactorings in commit history is essential to improve the comprehension of code changes in code reviews and to provide valuable information for empirical studies on software evolution. Several techniques have been proposed to…

Software Engineering · Computer Science 2022-12-06 Lei Chen , Shinpei Hayashi

Code review is a popular practice where developers critique each others' changes. Since automated builds can identify low-level issues (e.g., syntactic errors, regression bugs), it is not uncommon for software organizations to incorporate…

Software Engineering · Computer Science 2023-08-22 Rungroj Maipradit , Dong Wang , Patanamon Thongtanunam , Raula Gaikovina Kula , Yasutaka Kamei , Shane McIntosh

Third-party library dependencies are commonplace in today's software development. With the growing threat of security vulnerabilities, applying security fixes in a timely manner is important to protect software systems. As such, the…

Software Engineering · Computer Science 2022-05-18 Ayano Ikegami , Raula Gaikovina Kula , Bodin Chinthanet , Vittunyuta Maeprasart , Ali Ouni , Takashi Ishio , Kenichi Matsumoto

Software refactoring aims at improving code quality while preserving the system's external behavior. Although in principle refactoring is a behavior-preserving activity, a study presented by Bavota et al. in 2012 reported the proneness of…

Software Engineering · Computer Science 2020-09-25 Massimiliano Di Penta , Gabriele Bavota , Fiorella Zampetti

As a mixed result of intensive dependency on third-party libraries, flexible mechanism to declare dependencies, and increased number of modules in a project, multiple versions of the same third-party library are directly depended in…

Software Engineering · Computer Science 2020-02-26 Kaifeng Huang , Bihuan Chen , Bowen Shi , Ying Wang , Congying Xu , Xin Peng

Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies to optimize software design through applying design patterns and removing design defects, little is known about how…

Software Engineering · Computer Science 2021-11-16 Eman Abdullah AlOmar , Tianjia Wang , Vaibhavi Raut , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

Large language models (LLMs) are increasingly used for automated code refactoring tasks. Although these models can quickly refactor code, the quality may exhibit inconsistencies and unpredictable behavior. In this article, we systematically…

Software Engineering · Computer Science 2026-02-26 Norman Peitek , Julia Hess , Sven Apel

Existing dynamic vulnerability patching techniques are not well-suited for embedded devices, especially mission-critical ones such as medical equipment, as they have limited computational power and memory but uninterrupted service…

Cryptography and Security · Computer Science 2025-09-15 Ming Zhou , Xupu Hu , Zhihao Wang , Haining Wang , Hui Wen , Limin Sun , Peng Zhang

Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding standards and guidelines. During code review, developers may…

Software Engineering · Computer Science 2022-03-29 Eman Abdullah AlOmar , Moataz Chouchen , Mohamed Wiem Mkaouer , Ali Ouni

Fault-detection, localization, and repair methods are vital to software quality; but it is difficult to evaluate their generality, applicability, and current effectiveness. Large, diverse, realistic datasets of durably-reproducible faults…

Decisions on which classes to refactor are fraught with difficulty. The problem of identifying candidate classes becomes acute when confronted with large systems comprising hundreds or thousands of classes. In this paper, we describe a…

Software Engineering · Computer Science 2007-05-23 Richard Wheeldon , Steve Counsell

Commits often involve refactorings -- behavior-preserving code modifications aiming at software design improvements. Refactoring operations pose a challenge to code reviewers, as distinguishing them from behavior-altering changes is often…

Software Engineering · Computer Science 2025-02-26 Benjamin Ritz , Aleksandar Karakaš , Denis Helic

The increasing complexity of software supply chains and the rise of supply chain attacks have elevated concerns around software integrity. Users and stakeholders face significant challenges in validating that a given software artifact…

Software Engineering · Computer Science 2025-11-12 Aman Sharma , Benoit Baudry , Martin Monperrus

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

Patch reviewing is critical for software development, especially in distributed open-source development, which highly depends on voluntary work, such as Linux. This paper studies the past 10 years of patch reviews of the Linux memory…

Software Engineering · Computer Science 2026-03-27 Chih-En Lin , Attreyee Mukherjee , Ajay Rawat , Ruqi Zhang , Pedro Fonseca

Recent advances in coding agents have shown remarkable progress in software issue resolution. In practice, real-world issues are typically bug fixes or feature requests in which human developers naturally incorporate refactoring as part of…

Software Engineering · Computer Science 2026-05-22 Zhao Tian , Zifan Zhang , Tao Xiao , Dong Wang , Masanari Kondo , Junjie Chen , Yasutaka Kamei

In the past decade, research on test-suite-based automatic program repair has grown significantly. Each year, new approaches and implementations are featured in major software engineering venues. However, most of those approaches are…

Software Engineering · Computer Science 2019-05-29 Thomas Durieux , Fernanda Madeiral , Matias Martinez , Rui Abreu