Increasing the Expressiveness of a Gradual Verifier
Priyam Gupta

TL;DR
This paper enhances a gradual verifier by adding support for unfolding expressions, enabling more expressive and intuitive specifications of recursive heap data structures, thereby improving static verification processes.
Contribution
It introduces an extension to Gradual C0 that supports unfolding expressions, increasing the verifier's expressiveness for recursive data structures.
Findings
Supports verification of more complex recursive heap structures
Improves usability of specifications for recursive data structures
Extends the capabilities of Gradual C0 verifier
Abstract
Static verification provides strong correctness guarantees for code; however, fully specifying programs for static verification is a complex, burdensome process for users. Gradual verification was introduced to make this process easier by supporting the verification of partially specified programs. The only currently working gradual verifier, Gradual C0, successfully verifies heap manipulating programs, but lacks expressiveness in its specification language. This paper describes the design and implementation of an extension to Gradual C0 that supports unfolding expressions, which allow more intuitive specifications of recursive heap data structures.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Security and Verification in Computing
