论文标题

如何找到可行的静态分析警告:与Findbugs的案例研究

How to Find Actionable Static Analysis Warnings: A Case Study with FindBugs

论文作者

Yedida, Rahul, Kang, Hong Jin, Tu, Huy, Yang, Xueqi, Lo, David, Menzies, Tim

论文摘要

自动生成的静态代码警告遭受了大量错误警报。因此,开发人员只对这些警告的一小部分采取行动。为了更好地预测不应忽略哪些静态代码警告,我们建议分析师需要更深入地研究其算法,以找到可以更好地改善其特定问题细节的选择。具体来说,我们在这里表明,可以通过局部调整决策边界的方法(可行的警告和其他人)来创建此类警告的有效预测指标。这些方法为识别可行的静态代码警告产生了新的高水标。对于八个开源Java项目(Cassandra,Jmeter,Commons,Lucene-Solr,Maven,Ant,Tomcat,Derby),我们在4/8数据集中获得了完美的测试结果,总体而言,AUC的中位数AUC(真正的负面负数,真正的积极曲线)为92%。

Automatically generated static code warnings suffer from a large number of false alarms. Hence, developers only take action on a small percent of those warnings. To better predict which static code warnings should not be ignored, we suggest that analysts need to look deeper into their algorithms to find choices that better improve the particulars of their specific problem. Specifically, we show here that effective predictors of such warnings can be created by methods that locally adjust the decision boundary (between actionable warnings and others). These methods yield a new high water-mark for recognizing actionable static code warnings. For eight open-source Java projects (cassandra, jmeter, commons, lucene-solr, maven, ant, tomcat, derby) we achieve perfect test results on 4/8 datasets and, overall, a median AUC (area under the true negatives, true positives curve) of 92%.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源