Title
Building a push-button RESOLVE verifier: Progress and challenges
Abstract
A central objective of the verifying compiler grand challenge is to develop a push-button verifier that generates proofs of correctness in a syntax-driven fashion similar to the way an ordinary compiler generates machine code. The software developer’s role is then to provide suitable specifications and annotated code, but otherwise to have no direct involvement in the verification step. However, the general mathematical developments and results upon which software correctness is based may be established through a separate formal proof process in which proofs might be mechanically checked, but not necessarily automatically generated. While many ideas that could conceivably form the basis for software verification have been known “in principle” for decades, and several tools to support an aspect of verification have been devised, practical fully automated verification of full software behavior remains a grand challenge. This paper explains how RESOLVE takes a step towards addressing this challenge by integrating foundational and practical elements of software engineering, programming languages, and mathematical logic into a coherent framework. Current versions of the RESOLVE verifier generate verification conditions (VCs) for the correctness of component-based software in a modular fashion—one component at a time. The VCs are currently verified using automated capabilities of the Isabelle proof assistant, the SMT solver Z3, a minimalist rewrite prover, and some specialized decision procedures. Initial experiments with the tools and further analytic considerations show both the progress that has been made and the challenges that remain.
Year
DOI
Venue
2011
10.1007/s00165-010-0154-3
Formal Asp. Comput.
Keywords
DocType
Volume
theorem proving,languages,verification step,tools,component-based software,verification,automated verification,software verification,full software behavior,verification condition,software correctness,push-button resolve verifier,grand challenge,software engineering,software developer
Journal
23
Issue
ISSN
Citations 
5
1433-299X
28
PageRank 
References 
Authors
1.72
35
13
Name
Order
Citations
PageRank
Murali Sitaraman127040.99
Bruce Adcock2704.79
Jeremy Avigad346243.47
Derek Bronish4936.47
Paolo Bucci512416.58
David Frazier6472.82
Harvey M. Friedman711423.40
Heather Harton8564.00
Wayne D. Heym911111.70
Jason Kirschenbaum10685.59
Joan Krone117712.64
Hampton Smith12565.01
Bruce W. Weide13575182.57