Automated Static Analysis Tools (ASATs) are part of software development best practices. ASATs are able to warn developers about potential problems in the code. On the one hand, ASATs are based on best practices so there should be a noticeable effect on software quality. On the other hand, ASATs suffer from false positive warnings, which developers have to inspect and then ignore or mark as invalid. In this article, we ask the question if ASATs have a measurable impact on external software quality, using the example of PMD for Java. We investigate the relationship between ASAT warnings emitted by PMD on defects per change and per file. Our case study includes data for the history of each file as well as the differences between changed files and the project in which they are contained. We investigate whether files that induce a defect have more static analysis warnings than the rest of the project. Moreover, we investigate the impact of two different sets of ASAT rules. We find that, bug inducing files contain less static analysis warnings than other files of the project at that point in time. However, this can be explained by the overall decreasing warning density. When compared with all other changes, we find a statistically significant difference in one metric for all rules and two metrics for a subset of rules. However, the effect size is negligible in all cases, showing that the actual difference in warning density between bug inducing changes and other changes is small at best.


翻译:自动静态分析工具(ASAT)是软件开发最佳做法的一部分。 ASAT能够提醒开发者注意代码中的潜在问题。一方面, ASAT基于最佳做法,因此对软件质量有明显的影响。另一方面, ASAT受到虚假正面警告,开发者必须检查这些警告,然后忽略或标记为无效。在本篇文章中,我们问ASAT是否对外部软件质量有可衡量的影响,使用 Java PMD 的例子。我们调查PMD对每个变化和每个文件的缺陷发出的ASAT警告之间的关系。我们的案例研究包括每个文件的历史数据以及已修改的文件与所包含文件的项目之间的差异。我们调查造成缺陷的文件是否有比项目其余部分更静态的分析警告。此外,我们调查两套不同的ASAT规则的影响。我们发现,错误导出的文件中比当时项目的其他文件含有更少的静态分析警告警告。然而,这可以用总体警告密度下降来解释。与所有其它文件之间的实际密度差异相比较,我们发现,在统计性规则的精确性差异是最小的。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
【干货书】机器学习速查手册,135页pdf
专知会员服务
125+阅读 · 2020年11月20日
近期必读的六篇 ICLR 2021【推荐系统】相关投稿论文
专知会员服务
46+阅读 · 2020年10月13日
专知会员服务
39+阅读 · 2020年9月6日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
ICLR2019最佳论文出炉
专知
12+阅读 · 2019年5月6日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Arxiv
0+阅读 · 2022年1月21日
Arxiv
0+阅读 · 2022年1月3日
Arxiv
64+阅读 · 2021年6月18日
VIP会员
相关资讯
ICLR2019最佳论文出炉
专知
12+阅读 · 2019年5月6日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Top
微信扫码咨询专知VIP会员