Can We Build an Automatic Program Verifier? Invariant Proofs and Other Challenges [chapter]

Myla Archer
2008 Lecture Notes in Computer Science  
This paper reviews some common knowledge about establishing correctness of programs and the current status of program specification and verification. While doing so, it identifies several challenges related to the grand challenge of building a verifying compiler. The paper argues that invariants are central to establishing correctness of programs and that thus, a major part of an automatic program verifier must be automated support for verifying invariants, a significant problem in itself. The
more » ... aper discusses where the invariants come from, what can be involved in establishing that they hold, and the extent to which the process of finding and proving invariants can be automated. The paper also discusses several of the related challenges identified, argues that addressing them would make the significance to global program behavior of feedback from a verifying compiler clearer, and recommends that many of them should be included within the scope of the grand challenge.
doi:10.1007/978-3-540-69149-5_33 fatcat:7scejdlnkbagrkktnriryefvhe