English
Related papers

Related papers: Do Developers Refactor Data Access Code? An Empiri…

200 papers

In this study, we explore advanced strategies for enhancing software quality by detecting and refactoring data clumps, special types of code smells. Our approach transcends the capabilities of integrated development environments, utilizing…

Software Engineering · Computer Science 2024-03-07 Nils Baumgartner , Elke Pulvermüller

Serializability is a well-understood concurrency control mechanism that eases reasoning about highly-concurrent database programs. Unfortunately, enforcing serializability has a high-performance cost, especially on geographically…

Programming Languages · Computer Science 2021-03-10 Kia Rahmani , Kartik Nagar , Benjamin Delaware , Suresh Jagannathan

Developers sometimes mix behavior-preserving modifications, such as refactorings, with behavior-altering modifications, such as feature additions. Several approaches have been proposed to support understanding such modifications by…

Software Engineering · Computer Science 2025-08-19 Kota Someya , Lei Chen , Michael J. Decker , Shinpei Hayashi

Renaming identifiers in source code is a common refactoring task in software development. When renaming an identifier, other identifiers containing words with the same naming intention related to the renaming should be renamed…

Software Engineering · Computer Science 2024-09-27 Naoki Doi , Yuki Osumi , Shinpei Hayashi

A less complex and more straightforward program is a crucial factor that enhances its maintainability and makes writing secure and bug-free programs easier. However, due to its heavy workload and the risks of breaking the working programs,…

Programming Languages · Computer Science 2024-04-08 Atsushi Shirafuji , Yusuke Oda , Jun Suzuki , Makoto Morishita , Yutaka Watanobe

Code changes are an integral part of the software development process. Many code changes are meant to improve the code without changing its functional behavior, e.g., refactorings and performance improvements. Unfortunately, validating…

Software Engineering · Computer Science 2025-02-25 Lars Gröninger , Beatriz Souza , Michael Pradel

Software undergoes constant changes to support new requirements, address bugs, enhance performance, and ensure maintainability. Thus, developers spend a great portion of their workday trying to understand and review the code changes of…

Software Engineering · Computer Science 2024-08-26 Pouria Alikhanifard , Nikolaos Tsantalis

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

A smell in software source code denotes an indication of suboptimal design and implementation decisions, potentially hindering the code understanding and, in turn, raising the likelihood of being prone to changes and faults. Identifying…

Software Engineering · Computer Science 2025-02-10 Anh Ho , Anh M. T. Bui , Phuong T. Nguyen , Amleto Di Salle , Bach Le

Large language models (LLMs) have achieved remarkable progress in code generation, largely driven by the availability of high-quality code datasets for effective training. To further improve data quality, numerous training data optimization…

Software Engineering · Computer Science 2026-01-01 Shiqi Kuang , Zhao Tian , Tao Xiao , Dong Wang , Junjie Chen

It is well known that software needs to change to meet new requirements. The synchronization of software architecture models and implementation is of high importance to keep the architecture documents useful and the software evolution…

Software Engineering · Computer Science 2014-09-24 Holger Krahn , Bernhard Rumpe

The names of variables and functions serve as implicit documentation and are instrumental for program comprehension. But choosing good meaningful names is hard. We perform a sequence of experiments in which a total of 334 subjects are…

Software Engineering · Computer Science 2021-03-16 Dror G. Feitelson , Ayelet Mizrahi , Nofar Noy , Aviad Ben Shabat , Or Eliyahu , Roy Sheffer

We present Lean Refactor, a plug-and-play retrieval-augmented agentic framework for multi-objective, controllable, and version-robust refactoring of Lean proofs. LLM-generated proofs are notoriously correct-but-verbose and brittle across…

Logic in Computer Science · Computer Science 2026-05-21 Jialin Lu , Soonho Kong , Rodrigo Stehling , Kaiyu Yang , Zhangyang Wang , Weiran Sun , Wuyang Chen

GitHub introduced the suggestion feature to enable reviewers to explicitly suggest code modifications in pull requests. These suggestions make the reviewers' feedback more actionable for the submitters and represent a valuable knowledge for…

Software Engineering · Computer Science 2025-02-10 Abir Bouraffa , Yen Dieu Pham , Walid Maalej

Source code processing heavily relies on the methods widely used in natural language processing (NLP), but involves specifics that need to be taken into account to achieve higher quality. An example of this specificity is that the semantics…

Software Engineering · Computer Science 2021-04-28 Nadezhda Chirkova

The popularity of machine learning has wildly expanded in recent years. Machine learning techniques have been heatedly studied in academia and applied in the industry to create business value. However, there is a lack of guidelines for code…

Software Engineering · Computer Science 2022-03-31 Haiyin Zhang , Luís Cruz , Arie van Deursen

Despite decades of engineering and scientific research efforts, separation of concerns in software development remains not fully achieved. The challenge has been to avoid the crosscutting of concerns phenomenon, which has no apparent…

Software Engineering · Computer Science 2021-10-11 Júlio G. S. F. da Costa , Reinaldo A. Petta , Samuel Xavier-de-Souza

Software systems are getting more complex as the system grows where maintaining such system is a primary concern for the industry. Code clone is one of the factors making software maintenance more difficult. It is a process of replicating…

Software Engineering · Computer Science 2012-05-28 Md. Monzur Morshed , Md. Arifur Rahman , Salah Uddin Ahmed

CONTEXT: There has been a rapid growth in the use of data analytics to underpin evidence-based software engineering. However the combination of complex techniques, diverse reporting standards and poorly understood underlying phenomena are…

Software Engineering · Computer Science 2019-04-16 Tim Menzies , Martin Shepperd

Software developers frequently refactor code. Often, a single logical refactoring change involves changing multiple related components in a source base such as renaming each occurrence of a variable or function. While many code editors can…

Software Engineering · Computer Science 2022-10-21 Philippe Voinov , Manuel Rigger , Zhendong Su