基于机器学习与架构坏味的架构技术债务指数
软件工程
2023-10-18 v2
摘要
技术债务(TD)管理的一个关键方面是能够度量系统中累积的本金数额。当前文献包含一系列估计TD本金的方法,然而其中仅有少数专门针对架构TD,且这些都没有完全自动化、自由可用并经过充分验证。此外,近期一项研究表明许多当前方法存在某些缺陷,例如依赖手工选取的阈值。在本文中,我们提出一种基于机器学习和架构坏味估计架构技术债务本金的新方法,以解决此类缺陷。我们的方法可估计单个架构坏味实例所产生的技术债务本金。为此,我们采用信息检索中的新技术来训练一个学习排序机器学习模型,以估计架构坏味的严重度并确保预测的可解释性。然后,对每个实例,我们静态分析源代码以计算产生该坏味的确切代码行数。最后,我们结合这两个值计算技术债务本金。为验证该方法,我们开展了一个案例研究并访谈了来自开源和工业界的16名从业者,询问他们对于其项目中检测到的若干坏味的TD本金估计的意见。结果显示,对于71%的实例,从业者同意所提供的估计\emph{代表}了重构该坏味所需的工作量。
引用
@article{arxiv.2301.06341,
title = {An architectural technical debt index based on machine learning and architectural smells},
author = {Darius Sas and Paris Avgeriou},
journal= {arXiv preprint arXiv:2301.06341},
year = {2023}
}
备注
Paper submitted to IEEE Transactions on Software Engineering in May 2022