Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Source Software

被引:135
作者
Beller, Moritz [1 ]
Bholanath, Radjino [1 ]
McIntosh, Shane [2 ]
Zaidman, Andy [1 ]
机构
[1] Delft Univ Technol, NL-2600 AA Delft, Netherlands
[2] McGill Univ, Montreal, PQ H3A 2T5, Canada
来源
2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1 | 2016年
关键词
D O I
10.1109/SANER.2016.105
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The use of automatic static analysis has been a software engineering best practice for decades. However, we still do not know a lot about its use in real-world software projects: How prevalent is the use of Automated Static Analysis Tools (ASATs) such as FindBugs and JSHint? How do developers use these tools, and how does their use evolve over time? We research these questions in two studies on nine different ASATs for Java, JavaScript, Ruby, and Python with a population of 122 and 168,214 open-source projects. To compare warnings across the ASATs, we introduce the General Defect Classification (GDC) and provide a grounded-theory-derived mapping of 1,825 ASAT-specific warnings to 16 top-level GDC classes. Our results show that ASAT use is widespread, but not ubiquitous, and that projects typically do not enforce a strict policy on ASAT use. Most ASAT configurations deviate slightly from the default, but hardly any introduce new custom analyses. Only a very small set of default ASAT analyses is widely changed. Finally, most ASAT configurations, once introduced, never change. If they do, the changes are small and have a tendency to occur within one day of the configuration's initial introduction.
引用
收藏
页码:470 / 481
页数:12
相关论文
共 56 条
  • [1] [Anonymous], 2014, P 11 WORKING C MININ, DOI [DOI 10.1145/2597073.2597126, 10.1145/2597073]
  • [2] [Anonymous], 1994, RECOMMENDED PRACTICE
  • [3] [Anonymous], 65 BELL LAB
  • [4] Aragon Consulting Group Inc., 2015, KRUGL 1 ENT COD SEAR
  • [5] Ayewah N., 2010, P 19 INT S SOFTW TES, P241
  • [6] Evaluating Static Analysis Defect Warnings On Production Software
    Ayewah, Nathaniel
    Pugh, William
    Morgenthaler, J. David
    Penix, John
    Zhou, YuQian
    [J]. PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, : 1 - +
  • [7] Batsov B., 2015, RUBOCOP RUBY STATIC
  • [8] Beller M., 2014, 11 WORKING C MINING, P202, DOI DOI 10.1145/2597073.2597082
  • [9] When, How, and Why Developers (Do Not) Test in Their IDEs
    Beller, Moritz
    Gousios, Georgios
    Panichella, Annibale
    Zaidman, Andy
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 179 - 190
  • [10] Bholanath R, 2015, THESIS