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
相关论文
共 31 条
[11]  
Coverity Inc, 2006, COV EXT US MAN 2 4
[12]  
Coverity Inc, 2006, COV PREV US MAN 2 4
[13]  
Coverity Inc, 2006, COV PREV STAT SOURC
[14]   PROVING TERMINATION WITH MULTI-SET ORDERINGS [J].
DERSHOWITZ, N ;
MANNA, Z .
COMMUNICATIONS OF THE ACM, 1979, 22 (08) :465-476
[15]  
DEUTSCH A, 1994, SIGPLAN NOTICES, V29, P230, DOI 10.1145/773473.178263
[16]  
Deutsch A., 2003, CISC VIS NETW IND GL
[17]  
Emanuelsson P., 2008, TECHNICAL REPORTS CO
[18]  
Gimpel Software, 1999, PC LINT FLEXELINT
[19]  
GrammaTech Inc, 2007, OV GRAMMATECH STAT A
[20]   SYMBOLIC EXECUTION AND PROGRAM TESTING [J].
KING, JC .
COMMUNICATIONS OF THE ACM, 1976, 19 (07) :385-394