Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dynamic Logic
On the Frame Problem in Procedure Specifications
IEEE Transactions on Software Engineering
The KeY Approach: Integrating Object Oriented Design and Formal Verification
JELIA '00 Proceedings of the European Workshop on Logics in Artificial Intelligence
CHASE: A Static Checker for JML's Assignable Clause
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
A Dynamic Logic for the Formal Verification of Java Card Programs
JavaCard '00 Revised Papers from the First International Workshop on Java on Smart Cards: Programming and Security
Dynamically discovering likely program invariants
Dynamically discovering likely program invariants
Efficient incremental algorithms for dynamic detection of likely invariants
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
KeY-C: A Tool for Verification of C Programs
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Could We Have Chosen a Better Loop Invariant or Method Contract?
TAP '09 Proceedings of the 3rd International Conference on Tests and Proofs
Generating unit tests from formal proofs
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Verification by parallelization of parametric code
Algebraic and proof-theoretic aspects of non-classical logics
A dynamic logic for unstructured programs with embedded assertions
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Automating verification of loops by parallelization
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Hi-index | 0.00 |
Performance and usability of deductive program verification systems can be enhanced if specifications not only consist of pre-/post-condition pairs and invariants but also include information on which memory locations are modified by the program. This allows to separate the aspects of (a) which locations change and (b) how they change, state the change information in a compact way, and make the proof process more efficient. In this paper, we extend this idea from method specifications to loop invariants; and we define a proof rule for while loops that makes use of the change information associated with the loop body. It has been implemented and is successfully used in the KeY software verification system.