Interprocedural Pointer Analysis in Goanna

被引:3
作者
Brauer, Joerg [2 ]
Huuck, Ralf [1 ]
Schlich, Bastian [2 ]
机构
[1] Univ New South Wales, Natl ICT Australia Ltd NICTA, Locked Bag 6016, Sydney, NSW 1466, Australia
[2] Rhein Westfal TH Aachen, Embedded Software Lab, D-52074 Aachen, Germany
基金
澳大利亚研究理事会;
关键词
Static Analysis; Interprocedural Analysis; Model Checking; Pointer Analysis;
D O I
10.1016/j.entcs.2009.09.060
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Goanna is an industrial-strength static analysis tool used in academia and industry alike to find bugs in C/C++ programs. Unlike existing approaches, Goanna uses the off-the-shelf model checker NuSMV as its core analysis engine on a syntactic flow-sensitive program abstraction. The CTLbased model checking approach enables a high degree of flexibility in writing checks and scales to large code bases. In this paper, a new approach to pointer analysis for C is described. It is detailed how this technique is integrated into the model checking approach in order to perform interprocedural analysis. The performance and precision of this approach are demonstrated using a case study.
引用
收藏
页码:65 / 83
页数:19
相关论文
共 24 条
[21]  
Schmidt D. A., 1998, Conference Record of POPL '98: 25th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages, P38, DOI 10.1145/268946.268950
[22]  
Shapiro M., 1997, Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, P1, DOI 10.1145/263699.263703
[23]  
Steensgaard B., 1996, Conference Record of POPL '96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, P32, DOI 10.1145/237721.237727
[24]  
WILSON RP, 1995, SIGPLAN NOTICES, V30, P1, DOI 10.1145/223428.207111