Refinement based verification of imperative data structures
P Lammich - Proceedings of the 5th ACM SIGPLAN Conference on …, 2016 - dl.acm.org
Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs, 2016•dl.acm.org
In this paper we present a stepwise refinement based top-down approach to verified
imperative data structures. Our approach is modular in the sense that already verified data
structures can be used for construction of more complex data structures. Moreover, our data
structures can be used as building blocks for the verification of algorithms. Our tool chain
supports refinement down to executable code in various programming languages, and is
fully implemented in Isabelle/HOL, such that its trusted code base is only the inference …
imperative data structures. Our approach is modular in the sense that already verified data
structures can be used for construction of more complex data structures. Moreover, our data
structures can be used as building blocks for the verification of algorithms. Our tool chain
supports refinement down to executable code in various programming languages, and is
fully implemented in Isabelle/HOL, such that its trusted code base is only the inference …
In this paper we present a stepwise refinement based top-down approach to verified imperative data structures. Our approach is modular in the sense that already verified data structures can be used for construction of more complex data structures. Moreover, our data structures can be used as building blocks for the verification of algorithms. Our tool chain supports refinement down to executable code in various programming languages, and is fully implemented in Isabelle/HOL, such that its trusted code base is only the inference kernel and the code generator of Isabelle/HOL. As a case study, we verify an indexed heap data structure, and use it to generate an efficient verified implementation of Dijkstra's algorithm.
ACM Digital Library