ACWRecommender:一种基于弱监督验证可操作告警的工具
软件工程
2023-09-19 v1
摘要
静态分析工具因发现潜在缺陷而在开发者中广受欢迎,但其广泛采用受到伴随的高误报率(高达 90%)的阻碍。为应对这一挑战,先前的研究提出了可操作告警的概念,并应用机器学习方法将可操作告警与误报区分开来。尽管有这些努力,我们的初步研究表明,当前用于收集可操作告警的方法相当不可靠,导致很大比例无效的可操作告警。在这项工作中,我们从 GitHub Top-500 C 语言仓库中挖掘了 68,274 次回退(reversions)以创建一个实质性的可操作告警数据集,并为每个告警是否为真实缺陷的可能性分配了弱标签。为了自动识别可操作告警并推荐那些高概率为真实缺陷(AWHB)的告警,我们提出了一个称为 ACWRecommender 的两阶段框架。在第一阶段,我们的工具使用预训练模型即 UniXcoder,从大量 SA 工具报告的告警中识别可操作告警。在第二阶段,我们使用弱监督学习将有效的可操作告警重排至顶部。实验结果表明,我们的工具在可操作告警检测(就 F1-score 而言)上优于几个基线,并且在 AWHB 推荐(就 nDCG 和 MRR 而言)上表现更好。此外,我们还进行了真实环境评估,在 10 个随机选项目中手动验证了 2,197 个报告告警中的 24 个,其中 22 个被开发者确认为真实缺陷,展示了我们工具的实际用途。
引用
@article{arxiv.2309.09721,
title = {ACWRecommender: A Tool for Validating Actionable Warnings with Weak Supervision},
author = {Zhipeng Xue and Zhipeng Gao and Xing Hu and Shanping Li},
journal= {arXiv preprint arXiv:2309.09721},
year = {2023}
}
备注
accepted by ASE2023 Industry Track