On Automated Program Construction and Verification

@inproceedings{Berghammer2010OnAP,
  title={On Automated Program Construction and Verification},
  author={R. Berghammer and G. Struth},
  booktitle={MPC},
  year={2010}
}
A new approach for automating the const construction and verification of imperative programs is presented. Based on the standard methods of Floyd, Dijkstra, Gries and Hoare, it supports proof and refutation games with automated theorem provers, model search tools and computer algebra systems combined with "hidden" domain-specific algebraic theories that have been designed and optimised for automation. The feasibility of this approach is demonstrated through fully automated correctness proofs of… Expand
Formal analysis of concurrent programs
TLDR
Extensions of Kleene algebras are used to develop algeBRas for rely-guarantee style reasoning about concurrent programs, which yields a rapid, lightweight approach for the construction of verification and refinement tools. Expand
Automated Verification of Relational While-Programs
TLDR
This paper shows how to automatically verify imperative programs for relation-based discrete structures by combining relation algebra and the well-known assertion-based verification method with automated theorem proving. Expand
Program Analysis and Verification Based on Kleene Algebra in Isabelle/HOL
TLDR
This work formalises SKAT in Isabelle/HOL, using the quotient type package to reason equationally in this algebra and extends SKAT with assertion statements and derive the inference rules of Hoare logic. Expand
Tool-Based Verification of a Relational Vertex Coloring Program
TLDR
It is illustrated that algebraic abstraction yields verification tasks that can easily be verified with off-the-shelf theorem provers, but also reveal some shortcomings and difficulties with theorem Prover9 and the two proof assistants Coq and Isabelle/HOL. Expand
Program Verification based on Kleene Algebra in Isabelle / HOL
Schematic Kleene algebra with tests (SKAT) supports the equational verification of flowchart scheme equivalence and captures simple while programs with assignment statements. We formalise SKAT inExpand
Automated Engineering of Relational and Algebraic Methods in Isabelle/HOL - (Invited Tutorial)
We present a new integration of relational and algebraic methods in the Isabelle/HOL theorem proving environment. It consists of a fine grained hierarchy of algebraic structures based on Isabelle'sExpand
Simple Rectangle-Based Functional Programs for Computing Reflexive-Transitive Closures
TLDR
It is shown how to systematically derive simple purely functional algorithms for computing the reflexive-transitive closure of directed graphs by developing simple Haskell programs for two specific choices of rectangles and showing that one of them has cubic runtime like an imperative implementation of Warshall's standard algorithm. Expand
Relational Characterisations of Paths
TLDR
A purely algebraic way to specify different kinds of paths in relation algebras and to demonstrate the applicability of the algebraic framework the correctness of three basic graph algorithms is verified. Expand
Combining relation algebra and data refinement to develop rectangle-based functional programs for reflexive-transitive closures
TLDR
It is shown how to systematically derive simple purely functional algorithms for computing the reflexive–transitive closure of directed graphs using data refinement and shows that one of them has cubic running time like Warshall's standard algorithm. Expand
Verifying the Correctness of Disjoint-Set Forests with Kleene Relation Algebras
TLDR
A simple relation-algebraic semantics of read and write operations on associative arrays is given that seamlessly integrate with assignments in computation models supporting while-programs and can be used for verifying programs with Associative arrays. Expand
...
1
2
...

References

SHOWING 1-10 OF 31 REFERENCES
Automated Reasoning in Kleene Algebra
TLDR
It is demonstrated that off-the-shelf automated proof and counterexample search is an interesting alternative if combined with the right domain model and Kleene algebras might therefore provide light-weight formal methods with heavy-weight automation. Expand
Automated verification of refinement laws
TLDR
This work verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back’s atomicity refinement law, and presents a refinement law for infinite loops that has been discovered through automated analysis. Expand
Automated Deduction - CADE-21, 21st International Conference on Automated Deduction, Bremen, Germany, July 17-20, 2007, Proceedings
TLDR
Improvements in Formula Generalization on the Normalization and Unique Normalization Properties of Term Rewrite Systems and Handling Polymorphism in Automated Deduction. Expand
Modal Semirings Revisited
A new axiomatisation for domain and codomain on semirings and Kleene algebras is proposed. It is simpler, more general and more flexible than a predecessor, and it is particularly suitable forExpand
An axiomatic basis for computer programming
TLDR
An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics by elucidation of sets of axioms and rules of inference. Expand
Refinement Calculus: A Systematic Introduction
TLDR
The book addresses specific issues related to program refinement, such as implementing specification statements, making refinements in context, and transforming iterative structures in a correctness preserving way. Expand
Assigning Meanings to Programs
This paper attempts to provide an adequate basis for formal definitions of the meanings of programs in appropriately defined programming languages, in such a way that a rigorous standard isExpand
Combining Relational Calculus and the Dijkstra-Gries Method for Deriving Relational Programs
Abstract We show how to derive imperative programs for relation-based discrete structures by combining relational calculus and the Dijkstra–Gries method. Three examples are given, viz. Warshall'sExpand
Kleene algebra with tests
TLDR
A purely equational proof is given, using Kleene algebra with tests and commutativity conditions, of the following classical result: every while program can be simulated by a while program with at most one while loop. Expand
Implementation of Relational Algebra Using Binary Decision Diagrams
TLDR
It is shown how relations and their operations can efficiently be implemented by means of Binary Decision Diagrams and how it can be applied to attack computationally hard problems. Expand
...
1
2
3
4
...