Title :
A Memory Model Based on Three-Valued Matrix for Static Defect Detection
Author :
Qian Wang ; Dahai Jin ; Yunzhan Gong
Author_Institution :
State Key Lab. of Networking & Switching Tech, Beijing Univ. of Posts & Telecommun., Beijing, China
Abstract :
The knowledge of pointer behavior is very important for static analysis tools, especially the ones aiming at detecting C and related programming languages. But due to the usage of structure and the weakly typed feature of C-like programming languages, obtaining such knowledge is not an easy work. In this paper, we present a modeling method based on 3-valued matrix. This model enables us to perform flow-sensitive points-to analysis to obtain the knowledge of pointer behavior. And specially, it relies on offsets instead of access paths to denote disjoint objects in the memory space, thereby addressing the issue mentioned just before. And moreover, the so-called 3-valued matrix is a compact representation of points-to sets. Such a representation is a key part for designating an effective flow-sensitive points-to analysis. We implement a prototype of our method, and give it an evaluation on a set of open source benchmarks. The experimental results prove the effectiveness of our method, and show that it is suitable for exploring large programs with reasonable accuracy.
Keywords :
C language; flow graphs; matrix algebra; program diagnostics; storage management; C-like programming language; flow-sensitive points; memory model; pointer behavior; static analysis tool; static defect detection; three-valued matrix; Analytical models; Benchmark testing; Computer languages; Object recognition; Resource management; Semantics; Vectors; 3-valued matrix; Flow sensitivity; Memory model; Points-to analysis;
Conference_Titel :
Software Reliability Engineering Workshops (ISSREW), 2014 IEEE International Symposium on
Conference_Location :
Naples
DOI :
10.1109/ISSREW.2014.75