A memory model for static analysis of C programs

  • Authors:
  • Zhongxing Xu;Ted Kremenek;Jian Zhang

  • Affiliations:
  • State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences;Apple Inc.;State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences

  • Venue:
  • ISoLA'10 Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part I
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.