A Memory Model for Static Analysis of C Programs

被引:44
|
作者
Xu, Zhongxing [1 ]
Kremenek, Ted [2 ]
Zhang, Jian [1 ]
机构
[1] Chinese Acad Sci, Inst Software, State Key Lab Comp Sci, Beijing 100864, Peoples R China
[2] Apple Inc, Beijing 100864, Peoples R China
基金
中国国家自然科学基金;
关键词
D O I
10.1007/978-3-642-16558-0_44
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Automatic bug finding with static analysis requires precise tracking of different memory object values. This paper describes a memory modeling method for static analysis of C programs. It is particularly suitable for precise path-sensitive analyses, e.g., symbolic execution. It can handle almost all kinds of C expressions, including arbitrary levels of pointer dereferences, pointer arithmetic, composite array and struct data types, arbitrary type casts, dynamic memory allocation, etc. It maps aliased lvalue expressions to the identical object without extra alias analysis. The model has been implemented in the Clang static analyzer and enhanced the analyzer a lot by enabling it to have precise value tracking ability.
引用
收藏
页码:535 / +
页数:3
相关论文
共 50 条
  • [41] On the importance of paints-to analysis and other memory disambiguation methods for C programs
    Ghiya, R
    Lavery, D
    Sehr, D
    ACM SIGPLAN NOTICES, 2001, 36 (05) : 47 - 58
  • [42] Efficient Verification of Industrial PLC-Programs using Model Checking and Static Analysis
    Biallas, Sebastian
    Kowalewski, Stefan
    Schlich, Bastian
    AUTOMATION 2011, 2011, 213 : 67 - 72
  • [43] Improving static analyses of C programs with conditional predicates
    Blazy, Sandrine
    Buhler, David
    Yakobowski, Boris
    SCIENCE OF COMPUTER PROGRAMMING, 2016, 118 : 77 - 95
  • [44] Loopfrog: A Static Analyzer for ANSI-C Programs
    Kroening, Daniel
    Sharygina, Natasha
    Tonetta, Stefano
    Tsitovich, Aliaksei
    Wintersteiger, Christoph M.
    2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 668 - 670
  • [45] Static Deadlock Detection for Asynchronous C# Programs
    Santhiar, Anirudh
    Kanade, Aditya
    ACM SIGPLAN NOTICES, 2017, 52 (06) : 292 - 305
  • [46] Towards Automated Static Verification of GNU C Programs
    Novikov, Evgeny
    Zakharov, Ilja
    PERSPECTIVES OF SYSTEM INFORMATICS, PSI 2017, 2018, 10742 : 402 - 416
  • [47] Automatic Static Cost Analysis for Parallel Programs
    Hoffmann, Jan
    Shao, Zhong
    PROGRAMMING LANGUAGES AND SYSTEMS, 2015, 9032 : 132 - 157
  • [48] STATIC ANALYSIS OF FUNCTIONAL PROGRAMS WITH LOGICAL VARIABLES
    LINDSTROM, G
    LECTURE NOTES IN COMPUTER SCIENCE, 1989, 348 : 1 - 19
  • [49] STATIC ANALYSIS OF LOGIC PROGRAMS FOR INDEPENDENT AND PARALLELISM
    JACOBS, D
    LANGEN, A
    JOURNAL OF LOGIC PROGRAMMING, 1992, 13 (2-3): : 291 - 314
  • [50] A PRACTICAL ALGORITHM FOR STATIC ANALYSIS OF PARALLEL PROGRAMS
    MCDOWELL, CE
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1989, 6 (03) : 515 - 536