English
Related papers

Related papers: Unveiling process insights from refactoring practi…

200 papers

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

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

In collaborative software development, multiple contributors frequently change the source code in parallel to implement new features, fix bugs, refactor existing code, and make other changes. These simultaneous changes need to be merged…

Software Engineering · Computer Science 2023-05-11 Andre Oliveira , Vania Neves , Alexandre Plastino , Ana Carla Bibiano , Alessandro Garcia , Leonardo Murta

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

Software development agents such as Claude Code, GitHub Copilot, Cursor Agent, Devin, and OpenAI Codex are being increasingly integrated into developer workflows. While prior work has evaluated agent capabilities for code completion and…

Software Engineering · Computer Science 2026-05-26 Lukas Ottenhof , Daniel Penner , Abram Hindle , Thibaud Lutellier

Incorrect placement of methods within classes is a typical code smell called Feature Envy, which causes additional maintenance and cost during evolution. To remove this design flaw, several Move Method refactoring tools have been proposed.…

Software Engineering · Computer Science 2022-12-26 Di Cui , Siqi Wang , Yong Luo , Xingyu Li , Jie Dai , Lu Wang , Qingshan Li

Software implements a significant proportion of functionality in factory automation. Thus, efficient development and the reuse of software parts, so-called units, enhance competitiveness. Thereby, complex control software units are more…

Software Engineering · Computer Science 2022-12-13 Juliane Fischer , Birgit Vogel-Heuser , Heiko Schneider , Nikolai Langer , Markus Felger , Matthias Bengel

Refactoring is a practice widely adopted during software maintenance and evolution. Due to its importance, there is extensive work on the effectiveness of refactoring in achieving code quality. However, developer's intentions are usually…

Programming problems can be solved in a multitude of functionally correct ways, but the quality of these solutions (e.g. readability, maintainability) can vary immensely. When code quality is poor, symptoms emerge in the form of 'code…

Software Engineering · Computer Science 2024-03-11 Ivan Tan , Christopher M. Poskitt

Context:Software Development Analytics is a research area concerned with providing insights to improve product deliveries and processes. Many types of studies, data sources and mining methods have been used for that purpose. Objective:This…

Software Engineering · Computer Science 2025-11-06 Joao Caldeira , Fernando Brito e Abreu , Jorge Cardoso , Rachel Simões , Toacy Oliveira , José Reis

As software proliferates across domains, its aggregate energy footprint has become a major concern. To reduce software's growing environmental footprint, developers need to identify and refactor energy smells: source code implementations,…

Software Engineering · Computer Science 2026-04-07 Mohammadjavad Mehditabar , Saurabhsingh Rajput , Tushar Sharma

A great part of software development involves conceptualizing or communicating the underlying procedures and logic that needs to be expressed in programs. One major difficulty of programming is turning concept into code, especially when…

Software Engineering · Computer Science 2021-09-23 Frank F. Xu , Bogdan Vasilescu , Graham Neubig

Catalogs of refactoring have key importance in software maintenance and evolution, since developers rely on such documents to understand and perform refactoring operations. Furthermore, these catalogs constitute a reference guide for…

Software Engineering · Computer Science 2022-11-17 Aline Brito , Andre Hora , Marco Tulio Valente

Docker, the industry standard for packaging and deploying applications, leverages Infrastructure as Code (IaC) principles to facilitate the creation of images through Dockerfiles. However, maintaining Dockerfiles presents significant…

Software Engineering · Computer Science 2025-01-27 Emna Ksontini , Meriem Mastouri , Rania Khalsi , Wael Kessentini

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

Reducing the cognitive complexity of a piece of code to a given threshold is not trivial. Recently, we modeled software cognitive complexity reduction as an optimization problem and we proposed an approach to assist developers on this task.…

Software Engineering · Computer Science 2024-02-09 Rubén Saborido , Javier Ferrer , Francisco Chicano

Background: Code review is a cognitively demanding and time-consuming process. Previous qualitative studies hinted at how decomposing change sets into multiple yet internally coherent ones would improve the reviewing process. So far,…

Software Engineering · Computer Science 2020-01-22 Marco di Biase , Magiel Bruntink , Arie van Deursen , Alberto Bacchelli

Understanding factors that influence software development velocity is crucial for engineering teams and organizations, yet empirical evidence at scale remains limited. A more robust understanding of the dynamics of cycle time may help…

Software Engineering · Computer Science 2025-10-17 John C. Flournoy , Carol S. Lee , Maggie Wu , Catherine M. Hicks

Process mining offers techniques to exploit event data by providing insights and recommendations to improve business processes. The growing amount of algorithms for process discovery has raised the question of which algorithms perform best…

Software Engineering · Computer Science 2018-06-20 Toon Jouck , Alfredo Bolt , Benoît Depaire , Massimiliano de Leoni , Wil M. P. van der Aalst

Introduction of the Scrum approach into software engineering has changed the way software is being developed. The Scrum approach emphasizes the active end-user involvement, embracing of change, and /iterative delivery of products. Our study…

Software Engineering · Computer Science 2021-03-02 Peter Kokol. Sašo Zagoranski , Marko Kokol