Background. Developers use Automated Static Analysis Tools (ASATs) to control for potential quality issues in source code, including defects and technical debt. Tool vendors have devised quite a number of tools, which makes it harder for practitioners to select the most suitable one for their needs. To better support developers, researchers have been conducting several studies on ASATs to favor the understanding of their actual capabilities. Aims. Despite the work done so far, there is still a lack of knowledge regarding (1) which source quality problems can actually be detected by static analysis tool warnings, (2) what is their agreement, and (3) what is the precision of their recommendations. We aim at bridging this gap by proposing a large-scale comparison of six popular static analysis tools for Java projects: Better Code Hub, CheckStyle, Coverity Scan, Findbugs, PMD, and SonarQube. Method. We analyze 47 Java projects and derive a taxonomy of warnings raised by 6 state-of-the-practice ASATs. To assess their agreement, we compared them by manually analyzing - at line-level - whether they identify the same issues. Finally, we manually evaluate the precision of the tools. Results. The key results report a comprehensive taxonomy of ASATs warnings, show little to no agreement among the tools and a low degree of precision. Conclusions. We provide a taxonomy that can be useful to researchers, practitioners, and tool vendors to map the current capabilities of the tools. Furthermore, our study provides the first overview on the agreement among different tools as well as an extensive analysis of their precision.


翻译:开发者使用自动静态分析工具(ASATs)控制源代码中的潜在质量问题,包括缺陷和技术债务; 工具供应商已经设计了许多工具,使从业人员更难选择最适合其需要的工具; 为了更好地支持开发者,研究人员一直在对反静态分析工具进行若干项研究,以促进对其实际能力的理解。 目标。 尽管迄今已经做了工作,但仍缺乏以下知识:(1) 哪些源的质量问题可以通过静态分析工具警告实际检测到,(2) 其协议是什么,(3) 其建议是否准确。 我们的目标是通过大规模比较爪哇项目六种流行的静态分析工具来弥合这一差距:更好的代码枢纽、 CheckStyle、Coverty Scan、Findbugs、PMD和SonQube。 方法。 我们分析了47个Java项目,并得出了6个做法ASAT公司提出的警告的分类。 为了评估它们的协议,我们用手工分析方法比较了它们的协议―― 是否在一线层次上确定了同样的问题。 最后,我们用手动的方法评估了六种税收分析工具的精确度。

0
下载
关闭预览

相关内容

这个新版本的工具会议系列恢复了从1989年到2012年的50个会议的传统。工具最初是“面向对象语言和系统的技术”,后来发展到包括软件技术的所有创新方面。今天许多最重要的软件概念都是在这里首次引入的。2019年TOOLS 50+1在俄罗斯喀山附近举行,以同样的创新精神、对所有与软件相关的事物的热情、科学稳健性和行业适用性的结合以及欢迎该领域所有趋势和社区的开放态度,延续了该系列。 官网链接:http://tools2019.innopolis.ru/
专知会员服务
41+阅读 · 2020年9月6日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
60+阅读 · 2020年6月26日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
180+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
195+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
104+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
已删除
将门创投
4+阅读 · 2019年11月20日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
Arxiv
0+阅读 · 2021年3月16日
Arxiv
0+阅读 · 2021年3月7日
Arxiv
20+阅读 · 2020年6月8日
VIP会员
相关VIP内容
相关资讯
已删除
将门创投
4+阅读 · 2019年11月20日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
Top
微信扫码咨询专知VIP会员