Provably Correct Systems

  title={Provably Correct Systems},
  author={Michael G. Hinchey and Jonathan P. Bowen and Ernst-R{\"u}diger Olderog},
  booktitle={NASA Monographs in Systems and Software Engineering},
As computers increasingly control the systems and services we depend upon within our daily lives like transport, communications, and the media, ensuring these systems function correctly is of utmost importance. This book consists of twelve chapters and one historical account that were presented at a workshop in London in 2015, marking the 25th anniversary of the European ESPRIT Basic Research project ProCoS (Provably Correct Systems). The ProCoS I and II projects pioneered and accelerated the… 
Deposited in DRO : 10 December 2009 Version of attached le : Accepted Version Peer-review status of attached
A novel unified semantic model of the channel based synchronisation and sensor/actuator based asynchronisation in T COZ is presented and will be used as a reference document for developing tools support for TCOZ and as a semantic foundation for proving soundness of those tools.
Provably Correct Systems : Community and connections
The influence of the ProCoS projects and the subsequent ProCoSWG Working Group is charted, using Prof. Ernst-Rüdiger Olderog as an example.
An algebraic hardware/software partitioning algorithm. (English)
A program analysis phase before program partitioning is introduced and a collection of syntax-based splitting rules are developed, which provides the information for moving operations from software to hardware and reducing the interaction between components.
Provably Correct Systems: Community, Connections, and Citations
The community of researchers surrounding an initiative such as ProCoS is considered in the context of the social science concept of a Community of Practice (CoP) and the collaborations undertaken through coauthorship of and citations to publications.
List of Tony Hoare’s Publications
Towards efficient and verified virtual machines for dynamic languages
This work presents an Isabelle/HOL formalization of an alternative execution model---optimizing interpreters---and mechanically verify its correctness and formalize advanced speculative optimizations similar to those used in just-in-time compilers and prove semantics preservation.
The Impact of Alan Turing: Formal Methods and Beyond
The influence and reputation of Alan Turing since his death in 1954 is discussed, specifically in the field of formal methods, especially for program proving, but also in a much wider context.


Design and Verification of Fault-Tolerant Components
A systematic approach to design and verification of fault-tolerant components with real-time properties as found in embedded systems that can be made relatively detailed such that they can serve directly as blueprints for engineering, and yet be amenable to exhaustive verification.
Formal development of industrial-scale systems in Circus
Rules to translate Circus programs to Java programs that use JCSP, a library that implements Communicating Sequential Processes constructs, are presented, a link between the results on refinement in the context of Circus and a practical programming language in current use.
Verification of safety properties for concurrent assembly code
This paper proposes a logic-based "type" system for the static verification of concurrent assembly programs, applying the "invariance proof" technique for verifying general safety properties and the "assume-guarantee" paradigm for decomposition.
A Summary of Intrinsic Partitioning Verification
A recently completed verification of a microprocessor's intrinsic partitioning mechanism is described in terms of intrinsically important applications, concise correctness theorems, validated models, and proof automation.
Specification and verification of fault-tolerance, timing, and scheduling
This article shows how fault-tolerance, timing, and schedulability can be specified and verified using a single notation and model, which allows a unified view to be taken of the functional and nonfunctional properties of programs and a simple transformational method to be used to combine these properties.
A robust machine code proof framework for highly secure applications
The AAMP7G architecture is summarized, the ACL2 model of the processor is detail, and the development of the compositional cutpoint method into a robust machine code proof framework is described.
Refinement and verification in component-based model-driven design
Simulation and formal verification of x86 machine-code programs that make system calls
This work adds support for system calls to their formal, executable model of the user-level x86 instruction-set architecture (ISA), and is the first that enables mechanical proofs of functional correctness of user- level x86 machine-code programs that make system calls.
The Theory and Practice of Concurrency
This book provides a detailed foundation for working with CSP, using as little mathematics as possible, and introduces the ideas behind operational, denotational and algebraic models of CSP.
seL4: formal verification of an OS kernel
To the knowledge, this is the first formal proof of functional correctness of a complete, general-purpose operating-system kernel.