Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 1999
DOI: 10.1145/292540.292552
|View full text |Cite
|
Sign up to set email alerts
|

Parametric shape analysis via 3-valued logic

Abstract: We present a family of abstract-interpretation algorithms that are capable of determining "shape invariants" of programs that perform destructive updating on dynamically allocated storage. The main idea is to represent the stores that can passibly arise during execution using three-valued logical structures.Questions about properties of stores can be answered by evaluating predicate-logic formulae using Kleene's semantics of three-valued logic:l If a formula evaluates to true, then the formula holds in every s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
268
0
2

Year Published

2001
2001
2015
2015

Publication Types

Select...
7
3

Relationship

3
7

Authors

Journals

citations
Cited by 336 publications
(270 citation statements)
references
References 17 publications
(26 reference statements)
0
268
0
2
Order By: Relevance
“…These properties are more similar to the kind of properties that shape analysis techniques (e.g. Balaban et al, 2005;Sagiv et al, 1998Sagiv et al, , 2002 target. However, those techniques aim at proving a property of a program, while our technique provides a lightweight analysis geared at finding bugs.…”
Section: Discussionmentioning
confidence: 80%
“…These properties are more similar to the kind of properties that shape analysis techniques (e.g. Balaban et al, 2005;Sagiv et al, 1998Sagiv et al, , 2002 target. However, those techniques aim at proving a property of a program, while our technique provides a lightweight analysis geared at finding bugs.…”
Section: Discussionmentioning
confidence: 80%
“…For shape analysis, many other formalisms than FAs have been used, including, e.g., separation logic and various related graph formalisms [10,14,21,29], other logics [18,26], automata [8], or graph grammars [16]. Compared with FAs, these approaches typically handle less general heap structures (often restricted to various classes of lists) [14,29], they are less automated (requiring the user to specify loop invariants [18] or at least inductive definitions of the involved data structures [10,16,21]), or less scalable [8].…”
Section: Related Workmentioning
confidence: 99%
“…Shape analysis (Ghiya and Hendren 1996;Sagiv et al 1999;Kuncak et al 2006;Bogudlov et al 2007;Zee et al 2008) is a static analysis technique that discovers and verifies properties of linked, dynamically allocated data structures. It is typically used at compile time to find software bugs or to verify high-level correctness properties of programs.…”
Section: Related Workmentioning
confidence: 99%