Edit and verify
@article{Grigore2007EditAV, title={Edit and verify}, author={Radu Grigore and Michal Moskal}, journal={ArXiv}, year={2007}, volume={abs/0708.0713} }
Automated theorem provers are used in extended static checking, where they are the performance bottleneck. Extended static checkers are run typically after incremental changes to the code. We propose to exploit this usage pattern to improve performance. We present two approaches of how to do so and a full solution.
7 Citations
Strongest postcondition of unstructured programs
- Computer ScienceFTfJP@ECOOP
- 2009
The passivation phase is defined precisely enough to allow a study of its algorithmic properties and the weakest precondition and strongest postcondition methods are presented in a unified way and then compared empirically.
The Dafny Integrated Development Environment
- Computer ScienceF-IDE
- 2014
This paper presents an integrated development environment for Dafny-a programming language, verifier, and proof assistant-that addresses issues present in most state-of-the-art verifiers: low responsiveness and lack of support for understanding non-obvious verification failures.
Faster and More Complete Extended Static Checking for the Java Modeling Language
- Computer ScienceJournal of Automated Reasoning
- 2009
The multi-threaded version of ESC4 and its distributed prover back-end is presented, able to verify many more kinds of methods in part because of its use of novel techniques which apply multiple theorem provers.
The Design and Algorithms of a Verification Condition Generator
- Computer ScienceArXiv
- 2012
This dissertation discusses several problems loosely related, because they all involve a verification condition generator. The Boogie language is introduced; the architecture of a…
Efficiency of Extended Static Checkers
- Computer Science
- 2007
It is quite unlikely that one idea or technique that decisively impacts the number of bugs released to users will be found, but the constant stream of research output, together with advocacy and teaching, will steadily raise the bar.
Fine-Grained Caching of Verification Results
- Computer ScienceCAV
- 2015
A system for fine-grained caching of verification results that uses the program’s call graph and control-flow graph to focus the verification effort on just the parts of the program that were affected by the user's most recent modifications.
References
SHOWING 1-10 OF 34 REFERENCES
Simplify: a theorem prover for program checking
- Computer ScienceJACM
- 2005
The article describes two techniques, error context reporting and error localization, for helping the user to determine the reason that a false conjecture is false, and includes detailed performance figures on conjectures derived from realistic program-checking problems.
Extreme Model Checking
- Computer ScienceVerification: Theory and Practice
- 2003
It is shown that the lazy-abstraction algorithm, and its implementation in Blast, can be extended to support the fully automatic and incremental checking of temporal safety properties during software development.
Combinations of Model Checking and Theorem Proving
- Computer ScienceFroCoS
- 2000
This paper surveys a number of methods for formal verification of reactive systems based on model checking and theorem proving, and describes the combinations of these methods.
Generating error traces from verification-condition counterexamples
- Computer Science, MathematicsSci. Comput. Program.
- 2005
The Spec# Programming System: An Overview
- Computer ScienceCASSIS
- 2004
The goals and architecture of thespec# programming system, consisting of the object-oriented Spec# programming language, the Spec# compiler, and the Boogie static program verifier, are described.
Formal Verification of Ada Programs
- Computer ScienceIEEE Trans. Software Eng.
- 1990
The Penelope verification editor and its formal basis are described, a prototype system for the interactive development and verification of programs that are written in a rich subset of sequential Ada that belongs to the family of Larch interface languages.
Weakest-precondition of unstructured programs
- Computer SciencePASTE '05
- 2005
This paper presents a novel approach for computing the weakest precondition of an unstructured program that is sound even in the presence of loops and the resulting logical expression provides more leeway for the theorem prover efficiently to attack the proof.
Formal Techniques for Java-Like Programs
- Computer ScienceECOOP Workshops
- 2002
This workshop aims to bring together people working in both formal techniques and interface specification languages, specification of software components and library packages, automated checking and verification of program pro perties, verification logics, language semantics, program analysis, type systems, security.
JML: A Notation for Detailed Design
- Computer ScienceBehavioral Specifications of Businesses and Systems
- 1999
JML is a behavioral interface specification language tailored to Java that uses Eiffel-style syntax combined with model-based semantics, as in VDM and Larch, and supports quantifiers, specification-only variables, and other enhancements that make it more expressive for specification and easier to use.
Incremental compilation in Magpie
- Computer ScienceSIGPLAN '84
- 1984
Magpie is an interactive, integrate programming environment that supports the development of Pascal programs a powerful, single-user workstation that uses incremental compilation techniques to achieve performance levels that allow Pascal to be used interactively and as its own debugging language.