少而强:论强启发式在半监督学习用于软件分析中的价值
软件工程
2023-02-07 v1 人工智能
摘要
在许多领域中,存在大量示例,但标签却少得多;例如,我们可能可以访问数百万行源代码,但只能获得关于该代码的少量警告。在这些领域中,半监督学习器 (SSL) 可以从少量示例外推标签到其余数据。标准的 SSL 算法使用“弱”知识(即不基于特定软件工程知识的知识),例如协同训练两个学习器,并使用其中一个的良好标签来训练另一个。软件分析中 SSL 的另一种方法是潜在地使用利用软件工程知识的“强”知识。例如,软件工程中一个常用的启发式是,异常大的工件包含不良属性(例如,更多缺陷)。本文论证了此类“强”算法优于那些标准的、较弱的 SSL 算法。我们通过使用弱 SSL 或我们“更强的”FRUGAL 算法生成的标签来学习模型,从而证明了这一点。在四个领域(区分安全相关的缺陷报告;减轻决策中的偏差;预测问题关闭时间;以及减少静态代码警告中的误报)中,FRUGAL 仅需要标记 2.5% 的数据,但其性能优于依赖某些领域无关图论概念的标准半监督学习器。因此,对于未来的工作,我们强烈建议在面向软件工程应用的半监督学习中使用强启发式。为了更好地支持其他研究者,我们的脚本和数据可在 https://github.com/HuyTu7/FRUGAL 在线获取。
引用
@article{arxiv.2302.01997,
title = {Less, but Stronger: On the Value of Strong Heuristics in Semi-supervised Learning for Software Analytics},
author = {Huy Tu and Tim Menzies},
journal= {arXiv preprint arXiv:2302.01997},
year = {2023}
}
备注
Submitting to EMSE