Parametric shape analysis via 3-valued logic

被引:349
|
作者
Sagiv, M [1 ]
Reps, T
Wilhelm, R
机构
[1] Tel Aviv Univ, Sch Math Sci, IL-69978 Tel Aviv, Israel
[2] Univ Wisconsin, Dept Comp Sci, Madison, WI 53706 USA
[3] Univ Saarland, Fachrichtung Inf, D-66123 Saarbrucken, Germany
关键词
algorithms; languages; theory; verification; abstract interpretation; alias analysis; constraint solving; destructive updating; pointer analysis; shape analysis; static analysis; 3-valued logic;
D O I
10.1145/514188.514190
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Shape analysis concerns the problem of determining "shape invariants" for programs that perform destructive updating on dynamically allocated storage. This article presents a parametric framework for shape analysis that can be instantiated in different ways to create different shape-analysis algorithms that provide varying degrees of efficiency and precision. A key innovation of the work is that the stores that can possibly arise during execution are represented (conservatively) using 3-valued logical structures. The framework is instantiated in different ways by varying the predicates used in the 3-valued logic. The class of programs to which a given instantiation of the framework can be applied is not limited a priori (i.e., as in some work on shape analysis, to programs that manipulate only lists, trees, DAGS, etc.); each instantiation of the framework can be applied to any program, but may produce imprecise results (albeit conservative ones) due to the set of predicates employed.
引用
收藏
页码:217 / 298
页数:82
相关论文
共 50 条