English
Related papers

Related papers: On the Relationship between Refactoring Actions an…

200 papers

Despite its crucial role in research experiments, code correctness is often presumed only on the basis of the perceived quality of results. This assumption comes with the risk of erroneous outcomes and potentially misleading findings. To…

Computation and Language · Computer Science 2024-07-08 Sara Papi , Marco Gaido , Andrea Pilzer , Matteo Negri

Researchers have developed numerous debugging approaches to help programmers in the debugging process, but these approaches are rarely used in practice. In this paper, we investigate how programmers debug their code and what researchers…

Software Engineering · Computer Science 2021-03-24 Thomas Hirsch , Birgit Hofer

Developers build all the software artifacts in development. Existing work has studied the social behavior in software repositories. In one of the most important software repositories, a bug repository, developers create and update bug…

Software Engineering · Computer Science 2017-04-18 Jifeng Xuan , He Jiang , Zhilei Ren , Weiqin Zou

Naming is very important in software development, as names are often the only vehicle of meaning about what the code is intended to do. A recent study on how developers choose names collected the names given by different developers for the…

Software Engineering · Computer Science 2024-02-16 Rachel Alpern , Ido Lazer , Issar Tzachor , Hanit Hakim , Sapir Weissbuch , Dror G. Feitelson

Reinforcement Learning is the premier technique to approach sequential decision problems, including complex tasks such as driving cars and landing spacecraft. Among the software validation and verification practices, testing for functional…

Software Engineering · Computer Science 2024-03-25 Quentin Mazouni , Helge Spieker , Arnaud Gotlieb , Mathieu Acher

Bug localization is a tedious activity in the bug fixing process in which a software developer tries to locate bugs in the source code described in a bug report. Since this process is time-consuming and requires additional knowledge about…

Software Engineering · Computer Science 2021-10-12 Benjamin Ledel , Steffen Herbold

Automated program repair techniques aim to aid software developers with the challenging task of fixing bugs. In heuristic-based program repair, a search space of program variants, created via mutations on software, is explored to find…

Software Engineering · Computer Science 2024-05-07 Carol Hanna , Aymeric Blot , Justyna Petke

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

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

Software systems continuously evolve due to new functionalities, requirements, or maintenance activities. In the context of software evolution, software refactoring has gained a strategic relevance. The space of possible software…

Software Engineering · Computer Science 2024-01-31 Vittorio Cortellessa , Daniele Di Pompeo , Michele Tucci

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

Software quality estimation is a challenging and time-consuming activity, and models are crucial to face the complexity of such activity on modern software applications. One main challenge is that the improvement of distinctive quality…

Software Engineering · Computer Science 2022-12-19 Vittorio Cortellessa , Daniele Di Pompeo , Vincenzo Stoico , Michele Tucci

High-quality and large-scale repositories of real bugs and their concise patches collected from real-world applications are critical for research in software engineering community. In such a repository, each real bug is explicitly…

Software Engineering · Computer Science 2021-03-02 Yanjie Jiang , Hui Liu , Nan Niu , Lu Zhang , Yamin Hu

About 40% of software bug reports are duplicates of one another, which pose a major overhead during software maintenance. Traditional techniques often focus on detecting duplicate bug reports that are textually similar. However, in bug…

Software Engineering · Computer Science 2022-12-21 Sigma Jahan , Mohammad Masudur Rahman

There are repetitive patterns in strategies of manipulating source code. For example, modifying source code before acquiring knowledge of how a code works is a depth-first style and reading and understanding before modifying source code is…

Software Engineering · Computer Science 2016-12-01 Zahra Karimia , Ahmad Baraani-Dastjerdia , Nasser Ghasem-Aghaeea , Stefan Wagner

Real bug fixes found in open source repositories seem to be the perfect source for learning to localize and repair real bugs. However, the absence of large scale bug fix collections has made it difficult to effectively exploit real bug…

Software Engineering · Computer Science 2022-07-04 Cedric Richter , Heike Wehrheim

This paper describes a method for the recovering of software architectures from a set of similar (but unrelated) software products in binary form. One intention is to drive refactoring into software product lines and combine architecture…

Software Engineering · Computer Science 2016-08-08 Ian D. Peake , Jan Olaf Blech , Lasith Fernando , Divyasheel Sharma , Srini Ramaswamy , Mallikarjun Kande

Source code repositories allow developers to manage multiple versions (or branches) of a software system. Pull-requests are used to modify a branch, and backporting is a regular activity used to port changes from a current development…

Software Engineering · Computer Science 2022-04-11 Debasish Chakroborti , Kevin A. Schneider , Chanchal K. Roy

Developers create bug-reproducing tests that support debugging by failing as long as the bug is present, and passing once the bug has been fixed. These tests are usually integrated into existing test suites and executed regularly alongside…

Software Engineering · Computer Science 2026-02-04 Andre Hora , Gordon Fraser

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