English
Related papers

Related papers: Refactoring Debt: Myth or Reality? An Exploratory …

200 papers

Context: There is an increase in the investment and development of data-intensive (DI) solutions, systems that manage large amounts of data. Without careful management, this growing investment will also grow associated technical debt (TD).…

Software Engineering · Computer Science 2025-06-24 Ulrike M. Graetsch , Rashina Hoda , Hourieh Khalazjadeh , Mojtaba Shahin , John Grundy

Nowadays, software testing professionals are commonly required to develop coding skills to work on test automation. One essential skill required from those who code is the ability to implement code refactoring, a valued quality aspect of…

Just-in-time defect prediction (JIT-DP) aims to predict the likelihood of code changes resulting in software defects at an early stage. Although code change metrics and semantic features have enhanced prediction accuracy, prior research has…

Software Engineering · Computer Science 2025-07-29 Feifei Niu , Junqian Shao , Christoph Mayr-Dorn , Liguo Huang , Wesley K. G. Assunção , Chuanyi Li , Jidong Ge , Alexander Egyed

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…

Code review is a key development practice that contributes to improve software quality and to foster knowledge sharing among developers. However, code review usually takes time and demands detailed and time-consuming analysis of textual…

Software Engineering · Computer Science 2021-03-23 Rodrigo Brito , Marco Tulio Valente

Managing technical debt (TD) is essential for maintaining long-term software projects. Nonetheless, the time and cost involved in technical debt management (TDM) are often high, which may lead practitioners to omit TDM tasks. The adoption…

Software Engineering · Computer Science 2025-02-06 João Paulo Biazotto , Daniel Feitosa , Paris Avgeriou , Elisa Yumi Nakagawa

Self-admitted technical debt (SATD) impairs scientific software (SSW), yet its prioritization, sentiment, persistence, and propagation remains underexplored. Understanding how SSW developers express, and address SATD is crucial for…

Software Engineering · Computer Science 2026-03-18 Eric L. Melin , Nasir U. Eisty , Gregory R. Watson , Addi Malviya-Thakur

Context: Technical Debt (TD) discusses the negative impact of sub-optimal decisions to cope with the need-for-speed in software development. Code Technical Debt Items (TDI) are atomic elements of TD that can be observed in code artefacts.…

Software Engineering · Computer Science 2022-01-06 Ehsan Zabardast , Kwabena Ebo Bennin , Javier Gonzalez-Huerta

Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Studies show that small-scale…

Software Engineering · Computer Science 2022-02-16 James Ivers , Robert L. Nord , Ipek Ozkaya , Chris Seifried , Christopher S. Timperley , Marouane Kessentini

Context: Contemporary software development is typically conducted in dynamic, resource-scarce environments that are prone to the accumulation of technical debt. While this general phenomenon is acknowledged, what remains unknown is how…

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

Most Self-Admitted Technical Debt (SATD) research utilizes explicit SATD features such as 'TODO' and 'FIXME' for SATD detection. A closer look reveals several SATD research uses simple SATD ('Easy to Find') code comments without the…

Software Engineering · Computer Science 2023-08-14 Murali Sridharan , Leevi Rantala , Mika Mäntylä

The remarkable advances in AI and Large Language Models (LLMs) have enabled machines to write code, accelerating the growth of software systems. However, the bottleneck in software development is not writing code but understanding it;…

Software Engineering · Computer Science 2025-07-08 Adam Tornhill , Markus Borg , Nadim Hagatulah , Emma Söderberg

Background: To adequately attend to non-functional requirements (NFRs), they must be documented; otherwise, developers would not know about their existence. However, the documentation of NFRs may be subject to Technical Debt and Waste, as…

Software Engineering · Computer Science 2019-09-30 Gabriela Robiolo , Ezequiel Scott , Santiago Matalonga , Michael Felderer

Refactoring is the practice of improving software quality without altering its external behavior. Developers intuitively refactor their code for multiple purposes, such as improving program comprehension, reducing code complexity, dealing…

Computers and Society · Computer Science 2023-11-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to…

Software Engineering · Computer Science 2023-03-28 Pavel Reich , Walid Maalej

Static Analysis Tools (SATs) are central to security engineering activities, as they enable early identification of code weaknesses without requiring execution. However, their effectiveness is often limited by high false-positive rates and…

Cryptography and Security · Computer Science 2026-02-04 Nicolás E. Díaz Ferreyra , Moritz Mock , Max Kretschmann , Barbara Russo , Mojtaba Shahin , Mansooreh Zahedi , Riccardo Scandariato

When developers use different keywords such as TODO and FIXME in source code comments to describe self-admitted technical debt (SATD), we refer it as Keyword-Labeled SATD (KL-SATD). We study KL-SATD from 33 software repositories with 13,588…

Software Engineering · Computer Science 2020-08-13 Leevi Rantala , Mika Mäntylä , David Lo

Large language model (LLM) coding agents can generate working code, but their solutions often accumulate complexity, duplication, and architectural debt. Human developers address such issues through refactoring: behavior-preserving program…

Software Engineering · Computer Science 2026-03-05 Alex Thillen , Niels Mündler , Veselin Raychev , Martin Vechev

Understanding and effectively managing Technical Debt (TD) remains a vital challenge in software engineering. While many studies on code-level TD have been published, few illustrate the business impact of low-quality source code. In this…

Software Engineering · Computer Science 2024-01-25 Markus Borg , Ilyana Pruvost , Enys Mones , Adam Tornhill