Parametric shape analysis via 3-valued logic

被引:348
作者
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
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2002年 / 24卷 / 03期
关键词
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
相关论文
共 45 条
[1]  
AIKEN A, 1996, ACM WORKSH STRAT DIR
[2]  
[Anonymous], 1981, SCI PROGRAMMING, DOI DOI 10.1007/978-1-4612-5983-1
[3]  
Assman U., 1993, Proceedings. 1993 Programming Models for Massively Parallel Computers (Cat. No.93TH0593-4), P74, DOI 10.1109/PMMP.1993.315553
[4]  
BELL J. L., 1977, COURSE MATH LOGIC
[5]  
Benedikt M, 1999, LECT NOTES COMPUT SC, V1576, P2
[6]  
Cardelli L, 1998, LECT NOTES COMPUT SC, V1378, P140, DOI 10.1007/BFb0053547
[7]  
CHASE D, 1990, SIGPLAN C PROGR LANG, P296
[8]  
Clarke EM, 1995, LECT NOTES COMPUT SC, V1000, P455
[9]  
CLARKE EM, 2000, P COMP AID VER, P154
[10]  
CONSTABLE R, 1982, LECT NOTES COMPUTER, V135