English
Related papers

Related papers: A Longitudinal Study of Identifying and Paying Dow…

200 papers

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…

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

Software architecture decision-making is critical to the success of a software system as software architecture sets the structure of the system, determines its qualities, and has far-reaching consequences throughout the system life cycle.…

Software Engineering · Computer Science 2016-10-31 Sandun Dasanayake , Jouni Markkula , Sanja Aaramaa , Markku Oivo

The long lifetime and the evolving nature of industrial products make them subject to technical debt at different levels. Despite multiple years of research on technical debt management, our industrial experience shows that introducing…

Software Engineering · Computer Science 2021-04-19 Somayeh Malakuti , Jens Heuschkel

Complex software systems must be maintained for years or decades, and the effort and cost to maintain them are often high, involving continuous refactoring to ensure their longevity in the face of changing requirements. In this article, we…

Software Engineering · Computer Science 2018-02-13 Rafael Capilla , Elisa Yumi Nakagawa , Uwe Zdun , Carlos Carrillo

Software development organisations aim to stay effective and efficient amid growing system complexity. To address this, they often form small teams focused on separate components that can be independently developed, tested, and deployed.…

Software Engineering · Computer Science 2024-06-28 Ehsan Zabardast , Javier Gonzalez-Huerta , Francis Palma , Panagiota Chatzipetrou

This paper identifies a model of software evolution that is prevalent in large, long-lived academic research tool suites (3L-ARTS). This model results in an "archipelago" of related but haphazardly organized architectural "islands", and…

Software Engineering · Computer Science 2021-04-20 Marcelo Schmitt Laser , Duc Minh Le , Joshua Garcia , Nenad Medvidović

Software practitioners can make sub-optimal decisions concerning requirements during gathering, documenting, prioritizing, and implementing requirements as software features or architectural design decisions -- this is captured by the…

Software Engineering · Computer Science 2024-07-02 Judith Perera , Ewan Tempero , Yu-Cheng Tu , Kelly Blincoe , Matthias Galster

Elasticity is a cloud property that enables applications and its execution systems to dynamically acquire and release shared computational resources on demand. Moreover, it unfolds the advantage of economies of scale in the cloud through a…

Software Engineering · Computer Science 2017-02-27 Carlos Mera-Gómez , Francisco Ramírez , Rami Bahsoon , Rajkumar Buyya

Self-admitted technical debt (SATD) is a particular case of Technical Debt (TD) where developers explicitly acknowledge their sub-optimal implementation decisions. Previous studies mine SATD by searching for specific TD-related terms in…

Software Engineering · Computer Science 2020-03-23 Laerte Xavier , Fabio Ferreira , Rodrigo Brito , Marco Tulio Valente

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

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

Developers often opt for easier but non-optimal implementation to meet deadlines or create rapid prototypes, leading to additional effort known as technical debt to improve the code later. Oftentimes, developers explicitly document the…

Software Engineering · Computer Science 2026-02-10 Ibuki Nakamura , Yutaro Kashiwa , Bin Lin , Hajimu Iida

Self-admitted technical debt (SATD) refers to a form of technical debt in which developers explicitly acknowledge and document the existence of technical shortcuts, workarounds, or temporary solutions within the codebase. Over recent years,…

Software Engineering · Computer Science 2024-09-19 Edi Sutoyo , Andrea Capiluppi

Requirements volatility is a major issue in software development, causing problems such as higher defect density, project delays and cost overruns. Software architecture that guides the overall vision of software product, is one of the…

Software Engineering · Computer Science 2019-04-18 Sandun Dasanayake , Sanja Aaramaa , Jouni Markkula , Markku Oivo

Context. Technical Debt (TD), defined as software constructs that are beneficial in the short term but may hinder future change, is a frequently used term in software development practice. Nevertheless, practitioners do not always fully…

Software Engineering · Computer Science 2025-02-05 Marion Wiese , Angelina Heinrichs , Nino Rusieshvili , Rodrigo Rebouças de Almeida , Klara Borowa

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

Technical debt (TD) describes the additional costs that emerge when developers have opted for a quick and easy solution to a problem, rather than a more effective and well-designed, but time-consuming approach. Self-Admitted Technical Debts…

Software Engineering · Computer Science 2025-08-12 Nam Le Hai , Anh M. T. Bui , Phuong T. Nguyen , Davide Di Ruscio , Rick Kazman

The rapid adoption of Deep Learning (DL)-enabled systems has revolutionized software development, driving innovation across various domains. However, these systems also introduce unique challenges, particularly in maintaining software…

Software Engineering · Computer Science 2025-10-07 Gilberto Recupito , Vincenzo De Martino , Dario Di Nucci , Fabio Palomba

Software design debt aims to elucidate the rectification attempts of the present design flaws and studies the influence of those to the cost and time of the software. Design smells are a key cause of incurring design debt. Although the…

Software Engineering · Computer Science 2023-10-24 Asif Imran , Tevfik Kosar