English
Related papers

Related papers: Investigating Issues that Lead to Code Technical D…

200 papers

Technical debt denotes shortcuts taken during software development, mostly for the sake of expedience. When such shortcuts are admitted explicitly by developers (e.g., writing a TODO/Fixme comment), they are termed as Self-Admitted…

Software Engineering · Computer Science 2022-11-22 Yikun Li , Mohamed Soliman , Paris Avgeriou , Lou Somers

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

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

The development and deployment of machine learning systems can be executed easily with modern tools, but the process is typically rushed and means-to-an-end. The lack of diligence can lead to technical debt, scope creep and misaligned…

Software Engineering · Computer Science 2020-12-17 Alexander Lavin , Gregory Renard

Context: Advancements in machine learning (ML) lead to a shift from the traditional view of software development, where algorithms are hard-coded by humans, to ML systems materialized through learning from data. Therefore, we need to…

Software Engineering · Computer Science 2021-06-16 Görkem Giray

Context: Technical lag accumulates when software systems fail to keep pace with technological advancements, leading to a deterioration in software quality. Objective: This paper aims to consolidate existing research on technical lag,…

Software Engineering · Computer Science 2026-01-21 Shane K. Panter , Nasir U. Eisty

To complete tasks faster, developers often have to sacrifice the quality of the software. Such compromised practice results in the increasing burden to developers in future development. The metaphor, technical debt, describes such practice.…

Software Engineering · Computer Science 2022-02-15 Jiakun Liu , Qiao Huang , Xin Xia , Emad Shihab , David Lo , Shanping Li

With lots of freemium and premium, open and closed source software tools that are available in the market for dealing with different activities of Technical Debt management across different dimensions, identifying the right set of tools for…

Software Engineering · Computer Science 2019-04-26 Dwarak Govind Parthiban

Fixing bugs is an important phase in software development and maintenance. In practice, the process of bug fixing may conflict with the release schedule. Such confliction leads to a trade-off between software quality and release schedule,…

Software Engineering · Computer Science 2017-04-18 Jifeng Xuan , Yan Hu , He Jiang

Machine learning (ML) techniques increase the effectiveness of software engineering (SE) lifecycle activities. We systematically collected, quality-assessed, summarized, and categorized 83 reviews in ML for SE published between 2009-2022,…

Software Engineering · Computer Science 2023-12-05 Zoe Kotti , Rafaila Galanopoulou , Diomidis Spinellis

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

Research software (also called scientific software) is essential for advancing scientific endeavours. Research software encapsulates complex algorithms and domain-specific knowledge and is a fundamental component of all science. A pervasive…

Software Engineering · Computer Science 2026-03-24 Neil A. Ernst , Ahmed Musa Awon , Swapnil Hingmire , Ze Shi Li

Learning-based techniques, especially advanced pre-trained models for code have demonstrated capabilities in code understanding and generation, solving diverse software engineering (SE) tasks. Despite the promising results, current training…

Software Engineering · Computer Science 2025-02-07 Kyi Shin Khant , Hong Yi Lin , Patanamon Thongtanunam

Self-admitted technical debt (SATD) refers to comments in which developers explicitly acknowledge code issues, workarounds, or suboptimal solutions. SATD is known to significantly increase software maintenance effort. While extensive…

Software Engineering · Computer Science 2025-12-22 Shahidul Islam , Md Nahidul Islam Opu , Shaowei Wang , Shaiful Chowdhury

Technical debt refers to suboptimal code that degrades software quality. When developers intentionally introduce such debt, it is called self-admitted technical debt (SATD). Since SATD hinders maintenance, identifying its categories is key…

Software Engineering · Computer Science 2025-10-24 Sota Nakashima , Yuta Ishimoto , Masanari Kondo , Tao Xiao , Yasutaka Kamei

Machine learning (ML) provides us with numerous opportunities, allowing ML systems to adapt to new situations and contexts. At the same time, this adaptability raises uncertainties concerning the run-time product quality or dependability,…

Software Engineering · Computer Science 2022-10-18 Lalli Myllyaho , Mikko Raatikainen , Tomi Männistö , Jukka K. Nurminen , Tommi Mikkonen

Self-Admitted Technical Debt (SATD) refers to the phenomenon where developers explicitly acknowledge technical debt through comments in the source code. While considerable research has focused on detecting and addressing SATD, its true…

Software Engineering · Computer Science 2025-02-06 Shaiful Chowdhury , Hisham Kidwai , Muhammad Asaduzzaman

The introduction of machine learning (ML) components in software projects has created the need for software engineers to collaborate with data scientists and other specialists. While collaboration can always be challenging, ML introduces…

Software Engineering · Computer Science 2022-02-14 Nadia Nahar , Shurui Zhou , Grace Lewis , Christian Kästner

The advancements in machine learning techniques have encouraged researchers to apply these techniques to a myriad of software engineering tasks that use source code analysis, such as testing and vulnerability detection. Such a large number…

Software Engineering · Computer Science 2022-09-14 Tushar Sharma , Maria Kechagia , Stefanos Georgiou , Rohit Tiwari , Indira Vats , Hadi Moazen , Federica Sarro

Context: Machine learning (ML) is nowadays so pervasive and diffused that virtually no application can avoid its use. Nonetheless, its enormous potential is often tempered by the need to manage non-functional requirements and navigate…

Software Engineering · Computer Science 2024-04-11 Vincenzo De Martino , Fabio Palomba