Technical Debt (TD) refers to non-optimal decisions made in software projects that may lead to short-term benefits, but potentially harm the system's maintenance in the long-term. Technical debt management (TDM) refers to a set of activities that are performed to handle TD, e.g., identification. These activities can entail tasks such as code and architectural analysis, which can be time-consuming if done manually. Thus, substantial research work has focused on automating TDM tasks (e.g., automatic identification of code smells). However, there is a lack of studies that summarize current approaches in TDM automation. This can hinder practitioners in selecting optimal automation strategies to efficiently manage TD. It can also prevent researchers from understanding the research landscape and addressing the research problems that matter the most. Thus, the main objective of this study is to provide an overview of the state of the art in TDM automation, analyzing the available tools, their use, and the challenges in automating TDM. For this, we conducted a systematic mapping study (SMS), and from an initial set of 1086 primary studies, 178 were selected to answer three research questions covering different facets of TDM automation. We found 121 automation artifacts, which were classified in 4 different types (i.e., tools, plugins, scripts, and bots); the inputs/outputs and interfaces were also collected and reported. Finally, a conceptual model is proposed that synthesizes the results and allows to discuss the current state of TDM automation and related challenges. The results show that the research community has investigated to a large extent how to perform various TDM activities automatically, considering the number of studies and automation artifacts we identified. More research is needed towards fully automated TDM, specially concerning the integration of the automation artifacts.
翻译:技术债务(TD)指软件项目中为获取短期收益而做出的非最优决策,这些决策可能长期损害系统的可维护性。技术债务管理(TDM)指为处理技术债务而执行的一系列活动(如识别),这些活动可能涉及代码分析与架构分析等任务,若手动执行将非常耗时。因此,大量研究聚焦于自动化TDM任务(例如代码异味自动识别)。然而,目前缺乏系统梳理TDM自动化现有方法的研究,这既阻碍从业者选择最优自动化策略以高效管理技术债务,也妨碍研究者把握研究全貌并解决最关键的学术问题。本研究旨在概述TDM自动化领域的研究现状,分析现有工具、应用场景及自动化挑战。为此,我们开展了系统映射研究(SMS),从初始1086篇主文献中筛选出178篇,用于解答涵盖TDM自动化不同维度的三个研究问题。我们发现了121个自动化工具实体,将其归类为工具、插件、脚本和机器人四种类型,同时记录并报告了输入/输出接口等属性。最终提出概念模型整合研究成果,据此探讨TDM自动化现状及相关挑战。研究表明,从已识别的研究文献与自动化工具数量来看,学术界已广泛探索各项TDM活动的自动化实现路径。未来需深入研究完全自动化TDM,尤其是自动化工具实体的集成问题。