2014
DOI: 10.1145/2666356.2594325
|View full text |Cite
|
Sign up to set email alerts
|

Natural proofs for data structure manipulation in C using separation logic

Abstract: The natural proof technique for heap verification developed by Qiu et al.[32] provides a platform for powerful sound reasoning for specifications written in a dialect of separation logic called Dryad. Natural proofs are proof tactics that enable automated reasoning exploiting recursion, mimicking common patterns found in human proofs. However, these proofs are known to work only for a simple toy language [32].In this work, we develop a framework called VCDRYAD that extends the VCC framework [9] to provide an a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
40
0
1

Year Published

2015
2015
2019
2019

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 27 publications
(41 citation statements)
references
References 50 publications
0
40
0
1
Order By: Relevance
“…3.7) and structural annotations (all other auxiliary annotations). Suggestions roughly correspond to Pek et al's "level-C annotations" [PQM14], in that they are hints to help AutoProof verify more quickly. Out of all EiffelBase2 specifications, 12% are suggestions (mostly inv assertions); among structural annotations, ghost code (11%) and loop invariants (7%) are the most significant kinds.…”
Section: Kinds Of Specificationsmentioning
confidence: 73%
See 2 more Smart Citations
“…3.7) and structural annotations (all other auxiliary annotations). Suggestions roughly correspond to Pek et al's "level-C annotations" [PQM14], in that they are hints to help AutoProof verify more quickly. Out of all EiffelBase2 specifications, 12% are suggestions (mostly inv assertions); among structural annotations, ghost code (11%) and loop invariants (7%) are the most significant kinds.…”
Section: Kinds Of Specificationsmentioning
confidence: 73%
“…Another major difference with our work is that Zee et al do not always consider generalpurpose implementations (for example, hash tables only offer reference-based key comparison, which is too limiting in practice), nor do they target a unitarily designed library. Pek et al's natural proofs [PQM14] do not require proof scripts and drastically reduce the annotation burden by inferring auxiliary (low-level) annotations; the resulting annotation overhead is slightly lower than ours (Sect. 4.2).…”
Section: Interactive Verification Nanevski Et Al [Nmsmentioning
confidence: 78%
See 1 more Smart Citation
“…Given a program annotated with separation logic assertions, one can try to prove statically that each assertion holds at the appropriate program point; a long line of research in this area has resulted in a number of tools that are capable of doing this automatically at least some of the time for industrial code (see e.g. [7,8,14,16,19,24,28]). Alternatively, one might also try to test dynamically whether properties hold: simply execute the program and check whether each assertion is satisfied by the actual memory state of the program at that point (this is sometimes known as run-time verification).…”
Section: Introductionmentioning
confidence: 99%
“…[11,15,21,22]). This fragment is much more expressive than the simple linked-list fragment, but is also computationally much harder.…”
Section: Introductionmentioning
confidence: 99%