少即是多:关于“协同训练”对半监督软件缺陷预测器的价值
软件工程
2024-02-16 v2 机器学习
摘要
将一个模块标注为缺陷或非缺陷是一项昂贵的任务。因此,可用于训练的标注数据量往往有限。半监督分类器使用远少得多的标注来训练模型。然而,半监督方法众多,包括自标注、协同训练、最大间隔和基于图的方法等,仅举几例。其中仅有少数方法在软件工程 (SE) 中经过测试用于(例如)预测缺陷,即便如此,那些方法也仅在少数项目上测试过。本文对超过 714 个项目应用了广泛的 55 种半监督学习器。我们发现半监督的“协同训练方法”显著优于其他方法。具体而言,在仅标注 2.5% 的数据后,其做出的预测可与使用 100% 数据的预测相媲美。尽管如此,协同训练需谨慎使用,因为协同训练方法的具体选择需基于用户特定目标仔细选定。此外,我们警示一种常用的协同训练方法(“多视图”——不同学习器获得不同列集合)并不能改善预测(反而将运行时间成本增加太多:11 小时对比 1.8 小时)。这些缩减是否能在软件分析的其他领域观察到,是一个值得未来工作的开放问题。为协助探索其他领域,所用全部代码见 https://github.com/ai-se/Semi-Supervised。
引用
@article{arxiv.2211.05920,
title = {When Less is More: On the Value of "Co-training" for Semi-Supervised Software Defect Predictors},
author = {Suvodeep Majumder and Joymallya Chakraborty and Tim Menzies},
journal= {arXiv preprint arXiv:2211.05920},
year = {2024}
}
备注
36 pages, 10 figures, 5 tables