English
Related papers

Related papers: Build Code Needs Maintenance Too: A Study on Refac…

200 papers

Self-Admitted Technical Debt (SATD) annotates development decisions that intentionally exchange long-term software artifact quality for short-term goals. Recent work explores the existence of SATD clones (duplicate or near duplicate SATD…

Software Engineering · Computer Science 2024-02-15 Tao Xiao , Zhili Zeng , Dong Wang , Hideaki Hata , Shane McIntosh , Kenichi Matsumoto

A vigorous and growing set of technical debt analysis tools have been developed in recent years -- both research tools and industrial products -- such as Structure 101, SonarQube, and DV8. Each of these tools identifies problematic files…

Software Engineering · Computer Science 2021-03-09 Jason Lefever , Yuanfang Cai , Humberto Cervantes , Rick Kazman , Hongzhou Fang

Outdated documentation is a pervasive problem in software development, preventing effective use of software, and misleading users and developers alike. We posit that one possible reason why documentation becomes out of sync so easily is…

Software Engineering · Computer Science 2022-12-06 Wen Siang Tan , Markus Wagner , Christoph Treude

The emergence of open-source ML libraries such as TensorFlow and Google Auto ML has enabled developers to harness state-of-the-art ML algorithms with minimal overhead. However, during this accelerated ML development process, said developers…

Software Engineering · Computer Science 2025-12-01 Aaditya Bhatia , Foutse Khomh , Bram Adams , Ahmed E Hassan

For large software systems, refactoring activities can be a challenging task, since for keeping component complexity under control the overall architecture as well as many details of each component have to be considered. Product metrics are…

Software Engineering · Computer Science 2013-08-20 Christian Napoli , Giuseppe Pappalardo , Emiliano Tramontana

Tracking statements in the commit history of a project is in many cases useful for supporting various software maintenance, comprehension, and evolution tasks. A high level of accuracy can facilitate the adoption of code tracking tools by…

Software Engineering · Computer Science 2024-09-25 Mohammed Tayeeb Hasan , Nikolaos Tsantalis , Pouria Alikhanifard

Much software, whether beneficent or malevolent, is distributed only as binaries, sans source code. Absent source code, understanding binaries' behavior can be quite challenging, especially when compiled under higher levels of compiler…

Software Engineering · Computer Science 2021-09-20 Toufique Ahmed , Premkumar Devanbu , Anand Ashok Sawant

Widely used complex code refactoring tools lack a solid reasoning about the correctness of the transformations they implement, whilst interest in proven correct refactoring is ever increasing as only formal verification can provide true…

Software Engineering · Computer Science 2017-08-25 Dániel Horpácsi , Judit Kőszegi , Zoltán Horváth

In this paper an analysis of a technical support data with the goal of identifying process improvement actions for reducing interrupts is presented. A technical support chat is established and used to provide internal developer support to…

Social and Information Networks · Computer Science 2015-10-19 Zádor Dániel Kelemen , Balázs Tódor , Sándor Hodosi , Ákos Somfai

Novice programmers often struggle to comprehend code due to vague naming, deep nesting, and poor structural organization. While explanations may offer partial support, they typically do not restructure the code itself. We propose code…

Software Engineering · Computer Science 2026-04-20 Subarna Saha , Alif Al Hasan , Fariha Tanjim Shifat , Mia Mohammad Imran

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

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

Technical debt is a metaphor indicating sub-optimal solutions implemented for short-term benefits by sacrificing the long-term maintainability and evolvability of software. A special type of technical debt is explicitly admitted by software…

Software Engineering · Computer Science 2022-02-07 Yikun Li , Mohamed Soliman , Paris Avgeriou

Software engineering activities such as package migration, fixing errors reports from static analysis or testing, and adding type annotations or other specifications to a codebase, involve pervasively editing the entire repository of code.…

As quantum computing advances, quantum programming libraries' heterogeneity and steady evolution create new challenges for software developers. Frequent updates in software libraries break working code that needs to be refactored, thus…

Software Engineering · Computer Science 2025-06-10 José Manuel Suárez , Luís Mariano Bibbó , Joaquín Bogado , Alejandro Fernandez

Upon evolving their software, organizations and individual developers have to spend a substantial effort to pay back technical debt, i.e., the fact that software is released in a shape not as good as it should be, e.g., in terms of…

Software Engineering · Computer Science 2023-08-21 Antonio Mastropaolo , Massimiliano Di Penta , Gabriele Bavota

The technical debt (TD) metaphor is widely used to encapsulate numerous software quality problems. She describes the trade-off between the short term benefit of taking a shortcut during the design or implementation phase of a software…

Software Engineering · Computer Science 2019-11-19 Ronivon Dias , Pedro Neto , Irvayne Ibiapina , Guilherme Avelino e Otavio Castro

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

Context: Refactoring is recognized as an effective practice to maintain evolving software systems. For software libraries, we study how library developers refactor their Application Programming Interfaces (APIs), especially when it impacts…

Software Engineering · Computer Science 2017-10-02 Raula Gaikovina Kula , Ali Ouni , Daniel M. German , Katsuro Inoue

[Background] Refactoring has matured over the past twenty years to become part of a developer's toolkit. However, many fundamental research questions still remain largely unexplored. [Aim] The goal of this paper is to investigate the…

Software Engineering · Computer Science 2019-08-06 Steve Counsell , Mahir Arzoky , Giuseppe Destefanis , Davide Taibi