The verified software repository: a step towards the verifying compiler

  • Authors:
  • J. C. Bicarregui;C. A. R. Hoare;J. C. P. Woodcock

  • Affiliations:
  • Rutherford Appleton Laboratory, Chilton, OX11 0QX, Didcot, Oxon, UK;Microsoft Research, Roger Needham Building, 7 J. J. Thomson Avenue, CB3 0FB, Cambridge, Oxon, UK;Department of Computer Science, University of York, Roger Needham Building, 7 J. J. Thomson Avenue, YO10 5DD, Heslington, York, UK

  • Venue:
  • Formal Aspects of Computing
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The verified software repository is dedicated to a long-term vision of a future in which all computer systems justify the trust that society increasingly places in them. This would be accompanied by a substantial reduction in the current high costs of programming error, incurred during the design, development, testing, installation, maintenance, evolution, and retirement of computer software. An important technical contribution to this vision will be a verifying compiler: a tool-set that automatically proves that a program will always meet its specification, insofar as this has been formalised, without even needing to run it. This has been a challenge for computing research for over 30 years, but the current state of the art now gives grounds for hope that it may be implemented in the foreseeable future. Achievement of the overall vision will depend also on continued progress of research into dependability and software evolution, as envisaged by the UKCRC Grand Challenge project in dependable systems evolution. The verified software repository is a first step towards the realisation of this long-term vision. It will maintain and develop an evolving collection of state-of-the-art tools, together with a representative portfolio of real programs and specifications on which to test, evaluate, and develop the tools. It will contribute initially to the inter-working of tools, and eventually to their integration. It will promote transfer of the relevant technology to industrial tools and into software engineering practice. It will build on the recognised achievements of practical formal development of safety-critical computer applications, and contribute to an international initiative in verified software, covering theory, tools, and experimental validation.