A Comparative Study of Industrial Static Analysis Tools

被引:92
作者
Emanuelsson, Par [1 ]
Nilsson, Ulf [2 ]
机构
[1] Ericsson AB, Datalinjen 4, SE-58330 Linkoping, Sweden
[2] Linkoping Univ, Dept Comp & Informat Sci, SE-58183 Linkoping, Sweden
关键词
Static analysis; dataflow analysis; defects; security vulnerabilities;
D O I
10.1016/j.entcs.2008.06.039
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Tools based on static analysis can be used to find defects in programs. Tools that do shallow analyses based on pattern matching have existed since the 1980's and although they can analyze large programs they have the drawback of producing a massive amount of warnings that have to be manually analyzed to see if they are real defects or not. Recent technology advances has brought forward tools that do deeper analyses that discover more defects and produce a limited amount of false warnings. These tools can still handle large industrial applications with millions lines of code. This article surveys the underlying supporting technology of three state-of-the-art static analysis tools. The survey relies on information in research articles and manuals, and includes the types of defects checked for (such as memory management, arithmetics, security vulnerabilities), soundness, value and aliasing analyses, incrementality and IDE integration. This survey is complemented by practical experiences from evaluations at the Ericsson telecom company.
引用
收藏
页码:5 / 21
页数:17
相关论文
共 50 条
  • [31] Can static analysis tools find more defects? A qualitative study of design rule violations found by code review
    Mehrpour, Sahar
    LaToza, Thomas D.
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (01)
  • [32] Why Do Software Developers Use Static Analysis Tools? A User-Centered Study of Developer Needs and Motivations
    Do, Lisa Nguyen Quang
    Wright, James R.
    Ali, Karim
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (03) : 835 - 847
  • [33] Comparative analysis of modal, static, and buckling behaviors in thin-walled composite cylinders: A detailed study
    Saiki, Lucas Eiji de Castro
    Gomes, Guilherme Ferreira
    COMPOSITE STRUCTURES, 2025, 352
  • [34] Understanding How to Use Static Analysis Tools for Detecting Cryptography Misuse in Software
    Braga, Alexandre
    Dahab, Ricardo
    Antunes, Nuno
    Laranjeiro, Nuno
    Vieira, Marco
    IEEE TRANSACTIONS ON RELIABILITY, 2019, 68 (04) : 1384 - 1403
  • [35] Prioritizing Alerts from Multiple Static Analysis Tools, using Classification Models
    Flynn, Lori
    Snavely, William
    Svoboda, David
    VanHoudnos, Nathan
    Burns, Richard Qin Jennifer
    Zubrow, David
    Stoddard, Robert
    Marce-Santurio, Guillermo
    2018 IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON SOFTWARE QUALITIES AND THEIR DEPENDENCIES (SQUADE), 2018, : 13 - 20
  • [36] ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools
    Mordahl, Austin
    Soles, Dakota
    Miao, Miao
    Zhang, Zenong
    Wei, Shiyi
    PROCEEDINGS OF THE 32ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2023, 2023, : 1479 - 1482
  • [37] Comparison of Static Analysis Tools for Java']Java Using the Juliet Test Suite
    Charest, Thomas
    Rodgers, Nick
    Wu, Yan
    PROCEEDINGS OF THE 11TH INTERNATIONAL CONFERENCE ON CYBER WARFARE AND SECURITY (ICCWS 2016), 2016, : 431 - 438
  • [38] An empirical assessment of machine learning approaches for triaging reports of static analysis tools
    Yerramreddy, Sai
    Mordahl, Austin
    Koc, Ugur
    Wei, Shiyi
    Foster, Jeffrey S.
    Carpuat, Marine
    Porter, Adam A.
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (02)
  • [39] Delta-Bench: Differential Benchmark for Static Analysis Security Testing Tools
    Pashchenko, Ivan
    Dashevskyi, Stanislav
    Massacci, Fabio
    11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017), 2017, : 163 - 168
  • [40] USING STATIC ANALYSIS TOOLS FOR ANALYZING STUDENT BEHAVIOR IN AN INTRODUCTORY PROGRAMMING COURSE
    Albluwi, Ibrahim
    Salter, Joseph
    JORDANIAN JOURNAL OF COMPUTERS AND INFORMATION TECHNOLOGY, 2020, 6 (03): : 215 - 233