Title
Gradual verification of recursive heap data structures
Abstract
Current static verification techniques do not provide good support for incrementality, making it difficult for developers to focus on specifying and verifying the properties and components that are most important. Dynamic verification approaches support incrementality, but cannot provide static guarantees. To bridge this gap, prior work proposed gradual verification, which supports incrementality by allowing every assertion to be complete, partial, or omitted, and provides sound verification that smoothly scales from dynamic to static checking. The prior approach to gradual verification, however, was limited to programs without recursive data structures. This paper extends gradual verification to programs that manipulate recursive, mutable data structures on the heap. We address several technical challenges, such as semantically connecting iso- and equi-recursive interpretations of abstract predicates, and supporting gradual verification of heap ownership. This work thus lays the foundation for future tools that work on realistic programs and support verification within an engineering process in which cost-benefit trade-offs can be made.
Year
DOI
Venue
2020
10.1145/3428296
Proceedings of the ACM on Programming Languages
Keywords
DocType
Volume
gradual verification,implicit dynamic frames,recursive predicates,separation logic
Journal
4
Issue
ISSN
Citations 
OOPSLA
2475-1421
0
PageRank 
References 
Authors
0.34
0
6
Name
Order
Citations
PageRank
Jenna L. Wise1253.51
Johannes Bader200.34
Cameron Wong300.34
Jonathan Aldrich4107677.64
Éric Tanter521.72
Joshua Sunshine625227.19