2008
DOI: 10.1145/1379022.1375624
|View full text |Cite
|
Sign up to set email alerts
|

Full functional verification of linked data structures

Abstract: We present the first verification of full functional correctness for a range of linked data structure implementations, including mutable lists, trees, graphs, and hash tables. Specifically, we present the use of the Jahob verification system to verify formal specifications, written in classical higher-order logic, that completely capture the desired behavior of the Java data structure implementations (with the exception of properties involving execution time and/or memory consumption). Given that the desired c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
49
0

Year Published

2013
2013
2019
2019

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 62 publications
(49 citation statements)
references
References 65 publications
(43 reference statements)
0
49
0
Order By: Relevance
“…The previously defined query contains comes in handy to reduce the size of the specification. During a verification attempt, when applying the method contract rule, 8 the contains query (likewise isSorted) is replaced by its contract. This contract is defined using reach as the only query.…”
Section: The Modifier Methods Addmentioning
confidence: 99%
See 1 more Smart Citation
“…The previously defined query contains comes in handy to reduce the size of the specification. During a verification attempt, when applying the method contract rule, 8 the contains query (likewise isSorted) is replaced by its contract. This contract is defined using reach as the only query.…”
Section: The Modifier Methods Addmentioning
confidence: 99%
“…Specification using HOL or separation logic Zee et al [8] verify full functional correctness of linked data structure implementations, including mutable lists, trees, graphs, and hash tables. The correctness properties include intractable constructs such as quantifiers and transitive closure.…”
Section: Related Workmentioning
confidence: 99%
“…Another work that targets verification of programs with dynamic linked data structures, including properties depending on the data stored in them, is [30]. It generates verification conditions in an undecidable fragment of higher-order logic and discharges them using decision procedures, first-order theorem proving, and interactive theorem proving.…”
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%