Predictable Verification using Intrinsic Definitions
Adithya Murali, Cody Rivera, P. Madhusudan
TL;DR
The paper addresses the challenge of verifying data-structure maintenance without relying on recursive definitions by introducing intrinsic definitions that augment locations with ghost monadic maps under a local condition $LC$. It then presents the Fix-What-You-Break (FWYB) methodology, a three-stage process that converts high-level intrinsic specifications into decidable, quantifier-free verification conditions, using ghost code and a broken-set $Br$ to manage local-condition violations. The authors implement IDS/FWYB in Boogie and demonstrate scalable verification across diverse structures, including overlaid data structures like a List over a BST, with benchmarks showing rapid verification and minimal reliance on programmer lemmas. This approach promises practical, predictable verification for mutable data structures and suggests avenues for integration with higher-level languages to broaden adoption.
Abstract
We propose a novel mechanism of defining data structures using intrinsic definitions that avoids recursion and instead utilizes monadic maps satisfying local conditions. We show that intrinsic definitions are a powerful mechanism that can capture a variety of data structures naturally. We show that they also enable a predictable verification methodology that allows engineers to write ghost code to update monadic maps and perform verification using reduction to decidable logics. We evaluate our methodology using Boogie and prove a suite of data structure manipulating programs correct.
