2009
DOI: 10.1007/978-3-642-04761-9_16
|View full text |Cite
|
Sign up to set email alerts
|

Automated Analysis of Data-Dependent Programs with Dynamic Memory

Abstract: Abstract. We present a new approach for automatic verification of data-dependent programs manipulating dynamic heaps. A heap is encoded by a graph where the nodes represent the cells, and the edges reflect the pointer structure between the cells of the heap. Each cell contains a set of variables which range over the natural numbers. Our method relies on standard backward reachability analysis, where the main idea is to use a simple set of predicates, called signatures, in order to represent bad sets of heaps. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
5

Citation Types

0
7
0

Year Published

2009
2009
2015
2015

Publication Types

Select...
4
2

Relationship

4
2

Authors

Journals

citations
Cited by 7 publications
(7 citation statements)
references
References 23 publications
(19 reference statements)
0
7
0
Order By: Relevance
“…Our approach is to the best of our knowledge the first sound and complete automated analysis that captures concurrent set implementations. As for the model of the heap, closest to ours is the model of [1], but the work in [1] is on abstraction of sequential heap accessing programs. There is an emerging literature on automata and logics over data words [14,3] and algorithmic analysis of programs accessing data words [2].…”
Section: Introductionmentioning
confidence: 99%
“…Our approach is to the best of our knowledge the first sound and complete automated analysis that captures concurrent set implementations. As for the model of the heap, closest to ours is the model of [1], but the work in [1] is on abstraction of sequential heap accessing programs. There is an emerging literature on automata and logics over data words [14,3] and algorithmic analysis of programs accessing data words [2].…”
Section: Introductionmentioning
confidence: 99%
“…Monotonic abstraction is a well-known technique introduced by P. A. Abdulla and collaborators in a series of papers (like for instance [1,3,8,9]); the technique was originally applied in the context of verification of distributed systems, but successively extended also elsewhere (see e.g. [6,7]). The approach has been reformulated in [16,17] within the declarative context of array-based systems [34] in order to apply it to the verification of reliable broadcast algorithms [39] in a fault-tolerant environment.…”
Section: Introductionmentioning
confidence: 99%
“…As discussed below, various approaches to automated verification of dynamic pointer-linked data structures are currently studied in the literature. One of these approaches is based on using monotonic abstraction and backward reachability [4,2]. This approach has been shown to be very successful in handling systems with complex graph-structured configurations when verifying parameterized systems [3].…”
Section: Introductionmentioning
confidence: 99%
“…Several different approaches have been proposed for automated verification of programs with dynamic linked data structures. The most-known approaches include works based on monadic second-order logic on graph types [10], 3-valued predicate logic with transitive closure [14], separation logic [12,11,15,6], other kinds of logics [16,9], finite tree automata [5,7], forest automata [8], graph grammars [13], upward-closed sets [4,2], as well as other formalisms.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation