Communicating sequential processes
Communicating sequential processes
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
A classical mind
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
Refine and Gabriel: Support for Refinement and Tactics
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
A hierarchy of failures-based models: theory and application
Theoretical Computer Science - Expressiveness in concurrency
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Proving theorems about JML classes
Formal methods and hybrid real-time systems
Encoding circus programs in ProofPower-Z
UTP'08 Proceedings of the 2nd international conference on Unifying theories of programming
Implementing tactics of refinement in CRefine
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
A framework for automated and certified refinement steps
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
In this paper, we advocate the use of formal specification and verification in software development for high-integrity and safety-critical systems, where mechanical proof plays a central role. In particular, we emphasise the crucial importance of applying verification in the development of formal verification tools themselves. We believe this approach is very useful to increase the levels of confidence and integrity of tools that are built to find bugs based on formally specified models. This follows the trend set out by a UK grand challenge in computer research for verified software repository. In this direction, we present our experiences on a case study on the development process of a refinement model checking tool for Circus, a concurrent refinement language that combines Z, CSP, guarded commands, and the refinement calculus, with the Unifying Theories of Programming of Hoare and He as the theoretical background.