AutoProof: Auto-active Functional Verification of Object-oriented Programs
Authors:
Preprint
Abstract
Auto-active verifiers provide a level of automation intermediate between fully automatic and interactive: users supply code with annotations as input while benefiting from a high level of automation in the back-end. This paper presents AutoProof, a state-of-the-art auto-active verifier for object-oriented sequential programs with complex functional specifications. AutoProof fully supports advanced object-oriented features and a powerful methodology for framing and class invariants, which make it applicable in practice to idiomatic object-oriented patterns. The paper focuses on describing AutoProof's interface, design, and implementation features, and demonstrates AutoProof's performance on a rich collection of benchmark problems. The results attest AutoProof's competitiveness among tools in its league on cutting-edge functional verification of object-oriented programs.Keywords
All Related Versions
- Version 1, 2015-01-13, ArXiv
- Version 2, 2015-01-15, ArXiv
- Published version: , 566.
This publication has 19 references indexed in Scilit:
- Flexible Invariants through Semantic Collaboration2014
- Specifying Reusable ComponentsLecture Notes in Computer Science, 2010
- A Quick Tour of the VeriFast Program Verifier2010
- Dafny: An Automatic Program Verifier for Functional Correctness2010
- VCC: A Practical System for Verifying Concurrent C2009
- The KOA Remote Voting System: A Summary of Work to Date2007
- The Why/Krakatoa/Caduceus Platform for Deductive Program Verification2007
- Beyond Assertions: Advanced Specification and Verification with JML and ESC/Java22006
- Friends Need a Bit More: Maintaining Invariants Over Shared StateLecture Notes in Computer Science, 2004
- Object Invariants in Dynamic Contexts2004