We present a framework to generate verified LLVM programs from Isabelle/HOL. It is based on a code generator that generates LLVM text from a simplified fragment of LLVM, shallowly embedded into Isabelle/HOL. On top, we have developed a separation logic, a verification condition generator, and an LLVM backend to the Isabelle Refinement Framework. As case studies, we have produced verified LLVM implementations of binary search and the Knuth-Morris-Pratt string search algorithm. These are one order of magnitude faster than the Standard-ML implementations produced with the original Refinement Framework, and on par with unverified C implementations. Adoption of the original correctness proofs to the new LLVM backend was straightforward. The trus...
AbstractWe present a formalization and a formal total correctness proof of a MiniSAT-like SAT solver...
Program verification tools use verification condition generators to produce logical formulas whose v...
Formal verification of complex algorithms is challenging. Verifying their implementations goes beyon...
Software accompanying paper "Peter Lammich: Refinement of Parallel Algorithms down to LLVM" accepted...
We present an LTL model checker whose code has been completely verified using the Isabelle theorem p...
We present an LTL model checker whose code has been completely verified using the Isabelle theorem p...
This paper presents Vellvm (verified LLVM), a framework for reasoning about programs expressed in LL...
Abstract. We describe results and status of a sub project of the Verisoft [1] project. While the Ver...
Formal verification of complex algorithms is challenging. Verifying their implementations goes beyon...
Many theorem provers can generate functional programs from definitions or proofs. However, this code...
This thesis puts forward a flexible and principled approach to the development of construction and ...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
We present a stepwise refinement approach to develop verified parallel algorithms, down to efficient...
The growing complexity and diversity of models used for engineering dependable systems implies that ...
Abstract. Much work has been done in verifying a compiler specification, both in hand-written and me...
AbstractWe present a formalization and a formal total correctness proof of a MiniSAT-like SAT solver...
Program verification tools use verification condition generators to produce logical formulas whose v...
Formal verification of complex algorithms is challenging. Verifying their implementations goes beyon...
Software accompanying paper "Peter Lammich: Refinement of Parallel Algorithms down to LLVM" accepted...
We present an LTL model checker whose code has been completely verified using the Isabelle theorem p...
We present an LTL model checker whose code has been completely verified using the Isabelle theorem p...
This paper presents Vellvm (verified LLVM), a framework for reasoning about programs expressed in LL...
Abstract. We describe results and status of a sub project of the Verisoft [1] project. While the Ver...
Formal verification of complex algorithms is challenging. Verifying their implementations goes beyon...
Many theorem provers can generate functional programs from definitions or proofs. However, this code...
This thesis puts forward a flexible and principled approach to the development of construction and ...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
We present a stepwise refinement approach to develop verified parallel algorithms, down to efficient...
The growing complexity and diversity of models used for engineering dependable systems implies that ...
Abstract. Much work has been done in verifying a compiler specification, both in hand-written and me...
AbstractWe present a formalization and a formal total correctness proof of a MiniSAT-like SAT solver...
Program verification tools use verification condition generators to produce logical formulas whose v...
Formal verification of complex algorithms is challenging. Verifying their implementations goes beyon...