2000
DOI: 10.7146/brics.v7i39.20205
|View full text |Cite
|
Sign up to set email alerts
|

The Pointer Assertion Logic Engine

Abstract: We present a new framework for verifying partial specifications of programs in order to catch type and memory errors and check data structure invariants. Our technique can verify a large class of data structures, namely all those that can be expressed as graph types. Earlier versions were restricted to simple special cases such as lists or trees. Even so, our current implementation is as fast as the previous specialized tools.Programs are annotated with partial specifications expressed in Pointer Assertion Log… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
82
0

Year Published

2001
2001
2011
2011

Publication Types

Select...
5
4

Relationship

0
9

Authors

Journals

citations
Cited by 51 publications
(82 citation statements)
references
References 19 publications
0
82
0
Order By: Relevance
“…Various approaches to verification of such programs differing in their principles, degree of automation, generality, and scalability have emerged. They are based, e.g., on monadic second-order logic [40], 3-valued predicate logic with transitive closure [47], separation logic [20,31,45,60], 16 or automata [12,14,25]. Among all of these approaches, the method presented here is one of the most general and fully automated at the same time.…”
Section: Related Approachesmentioning
confidence: 97%
See 1 more Smart Citation
“…Various approaches to verification of such programs differing in their principles, degree of automation, generality, and scalability have emerged. They are based, e.g., on monadic second-order logic [40], 3-valued predicate logic with transitive closure [47], separation logic [20,31,45,60], 16 or automata [12,14,25]. Among all of these approaches, the method presented here is one of the most general and fully automated at the same time.…”
Section: Related Approachesmentioning
confidence: 97%
“…Both the tree skeletons and the routing expressions are automatically discovered by our method. The idea of using routing expressions is inspired by PALE [40] and graph types [38].…”
Section: Verification Of Programs With Pointersmentioning
confidence: 99%
“…Various approaches to verification of such programs differing in their principles, degree of automation, generality, and scalability have been proposed. The approaches are based, e.g., on monadic second order logic [30], 3-valued predicate logic with transitive closure [33], separation logic [8,21,31,35], other logics [3,14,29], automata [7,11,12,19], or other symbolic representations such as [1,4,17,27,36].…”
Section: Related Workmentioning
confidence: 99%
“…Similarly, Hallem et al [14] use static analyses to find bugs in system code. More sophisticated abstract domains are used in shape analyses [27,40], which can show some structural invariants, such as the absence of loops in linked lists. Separation logic decision procedures [4] can also show similar properties.…”
Section: Related Workmentioning
confidence: 99%