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 条
  • [1] Model checking driven static analysis for the real world: designing and tuning large scale bug detection
    Fehnker, Ansgar
    Huuck, Ralf
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2013, 9 (01) : 45 - 56
  • [2] The Impact of Profiling Versus Static Analysis in Precision Tuning
    Denisov, Lev
    Magnani, Gabriele
    Cattaneo, Daniele
    Agosta, Giovanni
    Cherubin, Stefano
    IEEE ACCESS, 2024, 12 : 69475 - 69487
  • [3] Cobra: a light-weight tool for static and dynamic program analysis
    Holzmann G.J.
    Holzmann, Gerard J. (gholzmann@acm.org), 1600, Springer London (13): : 35 - 49
  • [4] An Interactive Ranking Algorithm for Program Static Analysis
    Sun, Liang
    Lin, Wenfeng
    Shu, Shaoxian
    Li, Liuying
    2021 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C 2021), 2021, : 242 - 249
  • [5] An Abstract Specification Language for Static Program Analysis
    Vistein, Michael
    Ortmeier, Frank
    Reif, Wolfgang
    Huuck, Ralf
    Fehnker, Ansgar
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 254 : 181 - 197
  • [6] Use of static analysis during program development
    Marakakis, EI
    Proceedings of the Eighth IASTED International Conference on Artificial Intelligence and Soft Computing, 2004, : 66 - 71
  • [7] Combined static and dynamic immutability analysis of java program
    Yu L.-Q.
    Wang L.-Z.
    Lei B.
    Zhao J.-H.
    Li X.-D.
    Jisuanji Xuebao/Chinese Journal of Computers, 2010, 33 (04): : 736 - 746
  • [8] Automatic program assessment using static and dynamic analysis
    Arifi, Sara Mernissi
    Ouali, Ismail Nait Abdellah
    Zahi, Azeddine
    Benabbou, Rachid
    PROCEEDINGS OF 2015 THIRD IEEE WORLD CONFERENCE ON COMPLEX SYSTEMS (WCCS), 2015,
  • [9] A Brief Survey of Specification Inference in Static Program Analysis
    Chai, Chuansen
    Yan, Xuexiong
    Wang, Qingxian
    Liu, Shukai
    Sun, Yajing
    Yi, Shuai
    PROCEEDINGS OF THE 2ND INTERNATIONAL CONFERENCE ON ADVANCES IN MECHANICAL ENGINEERING AND INDUSTRIAL INFORMATICS (AMEII 2016), 2016, 73 : 783 - 787
  • [10] Verification of program dynamic behaviours based on static analysis
    Xu, Shanwei
    Dasiewicz, P.
    2008 CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING, VOLS 1-4, 2008, : 210 - 213