Lecture Notes in Computer Science
DOI: 10.1007/978-3-540-69738-1_5
|View full text |Cite
|
Sign up to set email alerts
|

Using First-Order Theorem Provers in the Jahob Data Structure Verification System

Abstract: Abstract. This paper presents our integration of efficient resolution-based theorem provers into the Jahob data structure verification system. Our experimental results show that this approach enables Jahob to automatically verify the correctness of a range of complex dynamically instantiable data structures, including data structures such as hash tables and search trees, without the need for interactive theorem proving or techniques tailored to individual data structures. Our primary technical results include:… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
29
0

Publication Types

Select...
8
1

Relationship

2
7

Authors

Journals

citations
Cited by 25 publications
(29 citation statements)
references
References 39 publications
0
29
0
Order By: Relevance
“…SPASS ran with SOS enabled and splitting disabled. 4 Although SOS makes SPASS incomplete, it greatly improves SPASS's success rate for our problems by making the proof search more goal-directed. Vampire ran with its CASC option, which is highly effective.…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…SPASS ran with SOS enabled and splitting disabled. 4 Although SOS makes SPASS incomplete, it greatly improves SPASS's success rate for our problems by making the proof search more goal-directed. Vampire ran with its CASC option, which is highly effective.…”
Section: Resultsmentioning
confidence: 99%
“…Bouillaguet et al [4] have developed a translation from higher-order logic to first-order logic. They eliminate type information and have proved this to be sound and complete.…”
Section: Introductionmentioning
confidence: 99%
“…There are two important, complementary areas in this domain: certifying user code that uses containers while assuming that their implementation complies with their specification (what we are doing) and certifying that an implementation of containers indeed complies with its specifications. On the one hand, Bouillaguet et al [7] focus on verifying that a container's implementation indeed complies with its specifications. They use resolution based first-order theorem provers to verify that the invariants of data structures such as sets and maps are preserved when considering operations on their encodings as arrays and trees.…”
Section: Related Workmentioning
confidence: 99%
“…Approaches based on regular model checking [5], symbolic backwards reachability analysis [1], or decision procedures such as [6] seem not to have dealt with the analysis of low-level system code, much less with overlapping records. There are a number of approaches that make use of numeric reasoning to deal with pointer arithmetic.…”
Section: Related Workmentioning
confidence: 99%