Fade to Grey: Tuning Static Program Analysis

被引:3
作者
Fehnker, Ansgar [1 ]
Huuck, Ralf [1 ]
Seefried, Sean [1 ]
Tapp, Michael [1 ]
机构
[1] Univ New South Wales, Natl ICT Australia Ltd NICTA, Locked Bag 6016, Sydney, NSW 1466, Australia
基金
澳大利亚研究理事会;
关键词
Source code analysis; static analysis; C/C++; false positive reduction; case study; Firefox;
D O I
10.1016/j.entcs.2010.08.046
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Static program analysis complements traditional dynamic testing by discovering generic patterns and relations in source code, which indicate software deficiencies such as memory corruption, unexpected program behavior and memory leaks. Since static program analysis builds on approximations of a program's concrete behavior there is often a trade-off between reporting potential bugs that might be the result of an over-approximation and silently suppressing those defects in that grey area. While this trade-off is less important for small files it has severe implications when facing large software packages, i.e., 1, 000, 000 LoC and more. In this work we report on experiences with using our static C/C++ analyzer Goanna on such large software systems, motivate why a flexible property specification language is vital, and present a number of decisions that had to be made to select the right checks as well as a sensible reporting strategy. We illustrate our findings by empirical data obtained from regularly analyzing the Firefox source code.
引用
收藏
页码:17 / 32
页数:16
相关论文
共 50 条
  • [41] Static analysis of Android programs
    Payet, Etienne
    Spoto, Fausto
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2012, 54 (11) : 1192 - 1201
  • [42] STATIC ANALYSIS OF POSTSCRIPT CODE
    HORSPOOL, RN
    VITEK, J
    [J]. COMPUTER LANGUAGES, 1993, 19 (02): : 65 - 78
  • [43] Heap Abstractions for Static Analysis
    Kanvar, Vini
    Khedker, Uday P.
    [J]. ACM COMPUTING SURVEYS, 2016, 49 (02)
  • [44] The Compiler as a Static Analysis Tool
    Dewar, Robert B. K.
    [J]. SIGADA'07: PROCEEDINGS OF THE 2007 ACM SIGADA ANNUAL INTERNATIONAL CONFERENCE, 2007, : 83 - 87
  • [45] A Survey of Parametric Static Analysis
    Park, Jihyeok
    Lee, Hongki
    Ryu, Sukyoung
    [J]. ACM COMPUTING SURVEYS, 2021, 54 (07)
  • [46] STATIC ANALYSIS OF SLOTTED SPRINGS
    Balambica, V.
    Deepak, Vishwa
    [J]. 2016 INTERNATIONAL CONFERENCE ON AUTOMATIC CONTROL AND DYNAMIC OPTIMIZATION TECHNIQUES (ICACDOT), 2016, : 455 - 459
  • [47] Explaining Static Analysis - A Perspective
    Nachtigall, Marcus
    Lisa Nguyen Quang Do
    Bodden, Eric
    [J]. 2019 34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING WORKSHOPS (ASEW 2019), 2019, : 29 - 32
  • [48] Combined Static and Dynamic Analysis
    Artho, Cyrille
    Biere, Armin
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 131 : 3 - 14
  • [49] Static analysis of Lyee requirements
    Mejri, M
    Ktari, B
    Fujita, H
    Erhioui, M
    [J]. KNOWLEDGE-BASED SYSTEMS, 2003, 16 (7-8) : 361 - 382
  • [50] Repositioning of Static Analysis Alarms
    Muske, Tukaram
    Talluri, Rohith
    Serebrenik, Alexander
    [J]. ISSTA'18: PROCEEDINGS OF THE 27TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2018, : 187 - 197