文本揭示代价:自承认技术债的偿还工作量预测与分析
软件工程
2026-04-28 v3 人工智能
摘要
技术债指在软件开发中为使短期收益优先于长期可维护性而做出的次优决策所带来的后果。自承认技术债(SATD)是技术债的一种特定形式,由开发者在源代码注释与提交信息等软件制品中显式记录。由于 SATD 会阻碍软件开发与维护,估算偿还所需工作量以有效确定优先级至关重要。然而,我们目前缺乏对 SATD 偿还的理解,更重要的是,缺乏能基于其文本描述自动估算 SATD 偿还工作量的方法。为弥补此差距,我们从 1,060 个 Apache 仓库的 2,568,728 次提交中整理了包含 341,740 条 SATD 条目的综合数据集,并对比 SATD 与非 SATD 条目及不同类型 SATD 条目的偿还工作量进行分析。此外,我们提出一种利用文本信息预测 SATD 偿还工作量的创新方法,命名为 PRESTI。我们的发现表明,不同类型 SATD 所需偿还工作量各异:代码/设计、需求与测试债较非 SATD 条目需求更大,而文档债需求更小。我们评估了所提方法,尤其是基于 BERT 与 TextCNN 的模型,其在估算偿还工作量上优于传统机器学习方法与基线。此外,我们总结了 SATD 偿还过程中与不同偿还工作量水平相关的关键词。我们的工作旨在提升 SATD 偿还优先级排序与资源分配,从而改善软件开发与可维护性。
引用
@article{arxiv.2309.06020,
title = {Text Tells the Cost: Predicting and Analyzing Repayment Effort of Self-Admitted Technical Debt},
author = {Yikun Li and Mohamed Soliman and Paris Avgeriou and Jie Tan and Jiakun Liu},
journal= {arXiv preprint arXiv:2309.06020},
year = {2026}
}