Published December 25, 2022 | Version 0.5
Software Open

Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier

  • 1. Carnegie Mellon University
  • 2. University of Illinois, Urbana-Champaign
  • 3. Advanced Digital Sciences Center, Illinois at Singapore

Description

Previous work on rewriting and reachability logic establishes a vision for a language-agnostic program verifier, which takes three inputs: a program, its formal specification, and the formal semantics of the programming language in which the program is written. The verifier then uses a language-agnostic verification algorithm to prove the program correct with respect to the specification and the formal language semantics. Such a complex verifier can easily have bugs. This paper proposes a method to certify the correctness of each successful verification run by generating a proof certificate. The proof certificate can be checked by a small proof checker. The preliminary experiments apply the method to generate proof certificates for program verification in an imperative language, a functional language, and an assembly language, showing that the proposed method is language-agnostic.

Files

README.md

Files (258.0 MB)

Name Size Download all
md5:457e800194c78cc64fdc61b662cbbc2d
258.0 MB Download
md5:8ae4ecb74088f307d98c5d6ec9c96a23
5.8 kB Preview Download