通过 SURVEY 实现更好的技术债务检测
软件工程
2019-05-22 v1 人工智能
摘要
软件分析可通过调查得以改进;即重新检查并(可能)修订先前分析所提供的标签。调查是一项耗时任务,有效的调查者必须谨慎管理其时间。具体而言,他们必须权衡进一步调查的成本与该额外付出的收益。本文提出 SURVEY0,一种实现成本/收益分析的增量式 Logistic Regression 估计方法。利用某分类器根据未访问样本的可能有趣程度对其进行排序。随后人工审阅最有趣的样本,其反馈被用于更新一个用于估计剩余样本数量的估计器。本文在自承认技术债务的背景下评估 SURVEY0。随着软件项目成熟,它们会累积“技术债务”,即开发者做出的次优决策并降低代码整体质量。此类决策常被程序员在代码中注释;即自承认技术债务(SATD)。近期结果表明文本分类器可自动检测此类债务。我们发现通过 SURVEY 数据可显著优于先前结果。具体而言,对于十个开源 JAVA 项目,我们仅使用 16% 的注释即可通过 SURVEY0 找到 83% 的技术债务(若需更高召回率,SURVEY0 可通过额外付出向该方向调整)。
引用
@article{arxiv.1905.08297,
title = {Better Technical Debt Detection via SURVEYing},
author = {Fahmid M. Fahid and Zhe Yu and Tim Menzies},
journal= {arXiv preprint arXiv:1905.08297},
year = {2019}
}
备注
10 pages, 4 figures, 4 tables, conference