234 Citations
Modular, Correct Compilation with Automatic Soundness Proofs
- Computer ScienceISoLA
- 2018
This work proposes a framework for automatically proving the correctness of compilation rules based on simultaneous symbolic execution for the source and target language, based on a reduction of correctness assertions to formulas in a program logic capable of symbolic execution of abstract programs.
Tests and Proofs
- Computer ScienceLecture Notes in Computer Science
- 2014
This work illustrates the whole model-based mutation testing process by means of an industrial case study and compares the fault detection capabilities of the three test suites on a set of faulty systems, which were created by intentionally injecting faults into the implementation.
Tableaux for constructive concurrent dynamic logic
- Computer ScienceAnn. Pure Appl. Log.
- 2005
Sometime = always + recursion ≡ always on the equivalence of the intermittent and invariant assertions methods for proving inevitability properties of programs
- Computer ScienceActa Informatica
- 2004
Two induction principles called “always” and “sometime” for proving inevitability properties of programs are proposed and compared and shown to be strongly equivalent in the sense that a proof by one induction principle can be rewritten into aProof by the other one.
The correctness of the Schorr-Waite list marking algorithm
- Computer ScienceActa Informatica
- 2004
A relatively simple proof of a nontrivial algorithm for marking all the nodes of a list structure and is a significant application of the method of “intermittent assertions”.
Object code verification
- Computer Science
- 1998
This thesis develops an abstract language which is expressive enough to describe any sequential object code program and which allows object code programs to be specified and verified in a system of logic while the use of abstraction to simplify programs makes verification practical.
Is “sometime” sometimes better than “always”?: Intermittent assertions in proving program correctness
- Computer ScienceICSE '76
- 1976
The intermittent-assertion method, introduced by Knuth and further developed by Burstall, promises to provide a valuable complement to the more conventional methods for proving the correctness and termination of programs simultaneously.
Dijkstra’s Legacy on Program Verification
- Computer ScienceEdsger Wybe Dijkstra
- 2022
The decade from 1967 to 1977 was one of the most creative in the field of pro gram verification, with the advent of proof assertions, program logics, weakest preconditions, logic programming,…
Integrating Symbolic Execution, Debugging and Verification
- Computer Science
- 2016
A platform for tools based on symbolic execution and related to verification is presented, which offers a seamless integration into an IDE and furthers a usage in combination, and statistical evidence that the SED increases effectiveness of code reviews is gained from a controlled experiment.
An abstract interpretation framework for termination
- Computer SciencePOPL '12
- 2012
The Floyd/Turing termination proof method is derived and a generalization of the syntactic notion of struc- tural induction into a semantic structural induction based on the new semantic concept of inductive trace cover covering execution traces by segments is introduced.