English
Related papers

Related papers: Do practitioners intentionally self-fix Technical …

200 papers

Software bugs significantly contribute to software cost and increase the risk of system malfunctioning. In recent years, many automated program-repair approaches have been proposed to automatically fix undesired program behavior. Despite of…

Software Engineering · Computer Science 2021-07-19 Dirk Beyer , Lars Grunske , Thomas Lemberger , Minxing Tang

Keeping track of and managing Self-Admitted Technical Debts (SATDs) are important to maintaining a healthy software project. This requires much time and effort from human experts to identify the SATDs manually. The current automated…

Software Engineering · Computer Science 2020-10-20 Zhe Yu , Fahmid Morshed Fahid , Huy Tu , Tim Menzies

The focus on rapid software delivery inevitably results in the accumulation of technical debt, which, in turn, affects quality and slows future development. Yet, companies with a long history of rapid delivery exist. Our primary aim is to…

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

Multitasking has always been an inherent part of software development and is known as the primary source of interruptions due to task switching in software development teams. Developing software involves a mix of analytical and creative…

Software Engineering · Computer Science 2018-05-16 Zahra Shakeri Hossein Abad , Oliver Karras , Kurt Schneider , Ken Barker , Mike Bauer

Background. Refactoring is a critical task in software maintenance and is generally performed to enforce the best design and implementation practices or to cope with design defects. Several studies attempted to detect refactoring activities…

Software Engineering · Computer Science 2020-09-15 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni , Marouane Kessentini

Dockerfiles enable the creation of portable container-based execution environments for the application code, and have become an important part of the modern software development process. As Dockerfiles are a form of Infrastructure-as-Code…

Software Engineering · Computer Science 2026-05-21 Wei Minn , Yan Naing Tun , Biniam Fesseha Demissie , Rui'ang Hu , Jiakun Liu , Mariano Ceccato , Lwin Khin Shar , David Lo

Test-driven development (TDD) is a programming technique in which the tests are written prior to the source code. It is proposed that TDD is one of the most fundamental practices enabling the development of software in an agile and…

Software Engineering · Computer Science 2017-11-15 Maria Siniaalto , Pekka Abrahamsson

This paper presents a case study analyzing Hibernate ecosystem software projects to investigate and demonstrate Code Debt behavior in relation to severity and rework time. The case study carried out revealed that the Code Debt with severity…

Software Engineering · Computer Science 2020-02-13 Bruno Santos de Lima , Rogério Eduardo Garcia

Technical debt is often the result of Short Run decisions made during code development, which can lead to long-term maintenance costs and risks. Hence, evaluating the progression of a project and understanding related code quality aspects…

Software Engineering · Computer Science 2023-05-01 Benedikt Dornauer , Michael Felderer , Johannes Weinzerl , Mircea-Cristian Racasan , Martin Hess

Debugging, finding and fixing bugs in code, is a heterogeneous process that shapes novice learners' self-beliefs and motivation in computing. Our Debugging by Design intervention (DbD) provocatively puts students in control over bugs by…

Computers and Society · Computer Science 2023-05-05 Luis Morales-Navarro , Deborah A. Fields , Michael Giang , Yasmin B Kafai

Large Language Models (LLMs) are increasingly embedded in software via APIs like OpenAI, offering powerful AI features without heavy infrastructure. Yet these integrations bring their own form of self-admitted technical debt (SATD). In this…

Software Engineering · Computer Science 2025-09-26 Ahmed Aljohani , Hyunsook Do

The adoption of Machine and Deep Learning (ML/DL) technologies introduces maintenance challenges, leading to Technical Debt (TD). Algorithm Debt (AD) is a TD type that impacts the performance and scalability of ML/DL systems. A review of 42…

Software Engineering · Computer Science 2026-04-09 Emmanuel Iko-Ojo Simon , Chirath Hettiarachchi , Fatemeh Fard , Alex Potanin , Hanna Suominen

In this paper, we investigate the effect of TDD, as compared to a non-TDD approach, as well as its retainment (or retention) over a time span of (about) six months. To pursue these objectives, we conducted a (quantitative) longitudinal…

Software Engineering · Computer Science 2021-05-12 Maria Teresa Baldassarre , Danilo Caivano , Davide Fucci , Natalia Juristo , Simone Romano , Giuseppe Scanniello , BurakTurhan

In this work, we study how the authorship of code affects bug-fixing commits using the SStuBs dataset, a collection of single-statement bug fix changes in popular Java Maven projects. More specifically, we study the differences in…

Software Engineering · Computer Science 2025-01-29 Wenhan Zhu , Michael W. Godfrey

GenAI solutions like GitHub Copilot have been shown to increase the productivity of software developers. Yet prior work remains unclear on the quality of code produced and the challenges of maintaining it in software projects. If quality…

General Economics · Economics 2026-01-29 Feiyang Xu , Poonacha K. Medappa , Murat M. Tunc , Martijn Vroegindeweij , Jan C. Fransoo

Context: Previous research on software aging is limited with focus on dynamic runtime indicators like memory and performance, often neglecting evolutionary indicators like source code comments and narrowly examining legacy issues within the…

Software Engineering · Computer Science 2025-04-25 Murali Sridharan , Mika Mäntylä , Leevi Rantala

Context: This study explores how software professionals identify and address biases in AI systems within the software industry, focusing on practical knowledge and real-world applications. Goal: We aimed to understand the strategies…

Software Engineering · Computer Science 2024-09-05 Ronnie de Souza Santos , Luiz Fernando de Lima , Maria Teresa Baldassarre , Rodrigo Spinola

Agile software development has been adopted in the industry to quickly react to business change. Since its inception both academia and industry debate the different shades that agile processes and technical practices play in the day-to-day…

Software Engineering · Computer Science 2023-07-24 Matheus Marabesi , Francisco Jose Garcia-Penalvo , Alicia Garcia-Holgado

Multi-task learning is a paradigm that leverages information from related tasks to improve the performance of machine learning. Self-Admitted Technical Debt (SATD) are comments in the code that indicate not-quite-right code introduced for…

Software Engineering · Computer Science 2025-07-03 Barbara Russo , Jorge Melegati , Moritz Mock