English
Related papers

Related papers: Experiences on Managing Technical Debt with Code S…

200 papers

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

Code smells and software vulnerabilities both increase maintenance cost, yet they are often handled by separate tools that miss structural context and produce noisy warnings. This paper presents The Code Whisperer, a hybrid framework that…

Software Engineering · Computer Science 2026-04-16 Mohammad Baqar , Raji Rustamov , Alexander Hughes

Self-admitted technical debt (SATD) refers to technical debt that is intentionally introduced by developers and explicitly documented in code comments or other software artifacts (e.g., issue reports) to annotate sub-optimal decisions made…

Software Engineering · Computer Science 2022-03-31 Jerin Yasmin , Mohammad Sadegh Sheikhaei , Yuan Tian

Bad smells have been defined to describe potential problems in code, possibly pointing out refactoring opportunities. Several empirical studies have highlighted that smells have a negative impact on comprehension and maintainability.…

Software Engineering · Computer Science 2021-07-21 Elder Vicente de Paulo Sobrinho , Marcelo de Almeida Maia

This white paper provides an overview of the topic of "technical debt" and presents an approach for managing technical debt in teams. The white paper is based on the results of my dissertation, which aimed to translate scientific findings…

Software Engineering · Computer Science 2026-03-04 Marion Wiese

Large Language Models (LLMs) have gained massive popularity in recent years and are increasingly integrated into software systems for diverse purposes. However, poorly integrating them in source code may undermine software system quality.…

Software Engineering · Computer Science 2025-12-29 Brahim Mahmoudi , Zacharie Chenail-Larcher , Naouel Moha , Quentin Stiévenart , Florent Avellaneda

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

Technical debt, specifically Self-Admitted Technical Debt (SATD), remains a significant challenge for software developers and managers due to its potential to adversely affect long-term software maintainability. Although various approaches…

Software Engineering · Computer Science 2023-08-28 Yikun Li , Mohamed Soliman , Paris Avgeriou , Maarten van Ittersum

Traditional algorithms for detecting differences in source code focus on differences between lines. As such, little can be learned about abstract changes that occur over time within a project. Structural differencing on the program's…

Software Engineering · Computer Science 2013-07-09 Jason Dagit , Matthew Sottile

With the ever-increasing use of games, game developers are expected to write efficient code supporting several qualities such as security, maintainability, and performance. However, the continuous need to update the features of games in…

Software Engineering · Computer Science 2021-05-05 Vartika Agrahari , Sridhar Chimalakonda

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

Issue Tracking Systems (ITSs) enable software developers and managers to collect and resolve issues collaboratively. While researchers have extensively analysed ITS data to automate or assist specific activities such as issue assignments,…

Software Engineering · Computer Science 2026-01-13 Lloyd Montgomery , Clara Lüders , Christian Rahe , Walid Maalej

Software analytics can be improved by surveying; i.e. rechecking and (possibly) revising the labels offered by prior analysis. Surveying is a time-consuming task and effective surveyors must carefully manage their time. Specifically, they…

Software Engineering · Computer Science 2019-05-22 Fahmid M. Fahid , Zhe Yu , Tim Menzies

The common use case of code smells assumes causality: Identify a smell, remove it, and by doing so improve the code. We empirically investigate their fitness to this use. We present a list of properties that code smells should have if they…

Software Engineering · Computer Science 2024-01-17 Idan Amit , Nili Ben Ezra , Dror G. Feitelson

Architectural code smells erode software maintainability and are costly to repair manually, yet unlike localized bugs, they require cross-module reasoning about design intent that challenges both developers and automated tools. While large…

Software Engineering · Computer Science 2026-05-13 Ion George Dinu , Marian Cristian Mihăescu , Traian Rebedea

Large Language Models (LLMs) are increasingly integrated into software systems for diverse purposes, due to their versatility, flexibility, and ability to simulate human reasoning to some extent. However, poor integration of LLM inference…

Software Engineering · Computer Science 2026-05-25 Zacharie Chenail-Larcher , Brahim Mahmoudi , Naouel Moha , Quentin Stiévenart , Florent Avellaneda

Anti-patterns are poor solutions to recurring design problems. Number of empirical studies have highlighted the negative impact of anti-patterns on software maintenance which motivated the development of various detection techniques. Most…

Software Engineering · Computer Science 2019-10-18 Antoine Barbez , Foutse Khomh , Yann-Gaël Guéhéneuc

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: Code smells (CS) tend to compromise software quality and also demand more effort by developers to maintain and evolve the application throughout its life-cycle. They have long been catalogued with corresponding mitigating solutions…

Software Engineering · Computer Science 2023-03-07 José Pereira dos Reis , Fernando Brito e Abreu , Glauco de Figueiredo Carneiro , Craig Anslow

Unit testing is an essential component of the software development life-cycle. A developer could easily and quickly catch and fix software faults introduced in the source code by creating and running unit tests. Despite their importance,…

Software Engineering · Computer Science 2021-08-02 Denivan Campos , Larissa Rocha , Ivan Machado