Affiliation:
1. Carnegie Mellon University, USA
2. University of Illinois at Urbana-Champaign, USA
3. Advanced Digital Sciences Center, Singapore
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference61 articles.
1. Boogie: A Modular Reusable Verifier for Object-Oriented Programs
2. Clark Barrett , Leonardo De Moura, and Pascal Fontaine . 2015 . Proofs in satisfiability modulo theories. Available at. http://leodemoura.github.io/files/SMTProofs.pdf All about proofs, Proofs for all, 55, 1 (2015), 23–44. Clark Barrett, Leonardo De Moura, and Pascal Fontaine. 2015. Proofs in satisfiability modulo theories. Available at. http://leodemoura.github.io/files/SMTProofs.pdf All about proofs, Proofs for all, 55, 1 (2015), 23–44.
3. Mechanized Semantics for the Clight Subset of the C Language
4. K-Java
5. Metamath Zero: Designing a Theorem Prover Prover
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献