English
Related papers

Related papers: Debt-Prone Bugs: Technical Debt in Software Mainte…

200 papers

Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt…

Software Engineering · Computer Science 2021-03-23 Jacinto Ramirez Lahti , Antti-Pekka Tuovinen , Tommi Mikkonen

Balancing the management of technical debt within recommender systems requires effectively juggling the introduction of new features with the ongoing maintenance and enhancement of the current system. Within the realm of recommender…

Information Retrieval · Computer Science 2023-12-12 Sergio Moreschini , Ludovik Coba , Valentina Lenarduzzi

When developing software, it is vitally important to keep the level of technical debt down since it is well established from several studies that technical debt can, e.g., lower the development productivity, decrease the developers' morale,…

Software Engineering · Computer Science 2021-01-06 Terese Besker , Antonio Martini , Jan Bosch

Technical Debt, considered by many to be the 'silent killer' of software projects, has undeniably become part of the everyday vocabulary of software engineers. We know it compromises the internal quality of a system, either deliberately or…

Technical Debt (TD) refers to the situation where developers make trade-offs to achieve short-term goals at the expense of long-term code quality, which can have a negative impact on the quality of software systems. In the context of code…

Software Engineering · Computer Science 2022-09-27 Liming Fu , Peng Liang , Zeeshan Rasheed , Zengyang Li , Amjed Tahir , Xiaofeng Han

The impact of Technical Debt (TD) on software maintenance and evolution is of great concern, but recent evidence shows that a considerable amount of TD is fixed by the same developers who introduced it; this is termed self-fixed TD. This…

Software Engineering · Computer Science 2021-06-23 Jie Tan , Daniel Feitosa , Paris Avgeriou

When not appropriately managed, technical debt is considered to have negative effects on the long term success of a software project. However, how the debt metaphor applies to requirements engineering in general, and to requirements…

Software Engineering · Computer Science 2019-07-26 Valentina Lenarduzzi , Davide Fucci

Architectural debt is a form of technical debt that derives from the gap between the architectural design of the system as it "should be" compared to "as it is". We measured architecture debt in two ways: 1) in terms of system-wide coupling…

Software Engineering · Computer Science 2018-12-03 Maleknaz Nayebi , Yuanfang Cai , Rick Kazman , Guenther Ruhe , Qiong Feng , Chris Carlson , Francis Chew

Context: Technical Debt needs to be managed to avoid disastrous consequences, and investigating developers' habits concerning technical debt management is invaluable information in software development. Objective: This study aims to…

Software Engineering · Computer Science 2020-09-10 Zadia Codabux , Christopher Dutchyn

To meet project timelines or budget constraints, developers intentionally deviate from writing optimal code to feasible code in what is known as incurring Technical Debt (TD). Furthermore, as part of planning their correction, developers…

Software Engineering · Computer Science 2022-03-14 Anthony Peruma , Eman Abdullah AlOmar , Christian D. Newman , Mohamed Wiem Mkaouer , Ali Ouni

In the software development industry, technical debt is regarded as a critical issue in term of the negative consequences such as increased software development cost, low product quality, decreased maintainability, and slowed progress to…

Software Engineering · Computer Science 2021-06-17 Simon Hacks , Hendrik Höfert , Johannes Salentin , Yoon Chow Yeong , Horst Lichter

Context: Technical Debt (TD) can be paid back either by those that incurred it or by others. We call the former self-fixed TD, and it can be particularly effective, as developers are experts in their own code and are well-suited to fix the…

Software Engineering · Computer Science 2021-10-13 Jie Tan , Daniel Feitosa , Paris Avgeriou

Technical debt---design shortcuts taken to optimize for delivery speed---is a critical part of long-term software costs. Consequently, automatically detecting technical debt is a high priority for software practitioners. Software quality…

Software Engineering · Computer Science 2017-06-01 Neil A. Ernst , Stephany Bellomo , Ipek Ozkaya , Robert L. Nord

Technical debt (TD) is a metaphor to describe the trade-off between short-term workarounds and long-term goals in software development. Despite being widely used to explain technical issues in business terms, industry and academia still…

Software documentation often struggles to catch up with the pace of software evolution. The lack of correct, complete, and up-to-date documentation results in an increasing number of documentation defects which could introduce delays in…

Software Engineering · Computer Science 2024-02-20 Lakmal Silva , Michael Unterkalmsteiner , Krzysztof Wnuk

Background: Software companies must balance fast value delivery with quality, a trade-off that can introduce technical debt and potentially waste developers' time. As software systems evolve, technical debt tends to increase. However,…

Software Engineering · Computer Science 2024-06-04 Bhuwan Paudel , Javier Gonzalez-Huerta , Ehsan Zabardast , Eriks Klotins

Motivation: Technical debt is a metaphor that describes not-quite-right code introduced for short-term needs. Developers are aware of it and admit it in source code comments, which is called Self- Admitted Technical Debt (SATD). Therefore,…

Software Engineering · Computer Science 2023-12-05 Moritz Mock

Background. Technical debt (TD) has long been one of the key factors influencing the maintainability of software products. It represents technical compromises that sacrifice long-term software quality for potential short-term benefits.…

Software Engineering · Computer Science 2024-07-31 Xiaozhou Li , Matteo Esposito , Andrea Janes , Valentina Lenarduzzi

Maintaining software is an ongoing process that stretches beyond the initial release. Stable software versions continuously evolve to fix bugs, add improvements, address security issues, and ensure compatibility. This ongoing support…

Software Engineering · Computer Science 2025-11-13 Jarin Tasnim , Debasish Chakroborti , Chanchal K. Roy , Kevin A. Schneider

Generative AI is accelerating software development, but may quietly shift where the most significant risks lie. As AI generates code faster than teams can understand it, two under appreciated forms of debt accumulate: cognitive debt, the…

Software Engineering · Computer Science 2026-04-08 Margaret-Anne Storey