The verified software repository: a step towards the verifying compiler

被引:23
作者
Bicarregui, J. C.
Hoare, C. A. R.
Woodcock, J. C. P. [1 ]
机构
[1] Univ York, Dept Comp Sci, York YO10 5DD, N Yorkshire, England
[2] Rutherford Appleton Lab, Didcot OX11 0QX, Oxon, England
[3] Microsoft Res, Cambridge CB3 0FB, England
基金
英国工程与自然科学研究理事会;
关键词
grand challenges in computer science; dependable systems evolution; software engineering; verifying compiler; verified software repository; program verification; assertional reasoning; tools;
D O I
10.1007/s00165-005-0079-4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:143 / 151
页数:9
相关论文
共 44 条
[1]  
Abrial J., 2005, The B-book: Assigning Programs to Meanings
[2]  
ABRIAL JR, 1996, LECT NOTES COMPUTER, V1165
[3]  
[Anonymous], 2004, GRAND CHALLENGES COM
[4]  
[Anonymous], 1949, REPORT C HIGH SPEED
[5]  
BALL T, 2001, PROGRAMMING LANGUAGE, P203, DOI DOI 10.1145/378795.378846
[6]  
Barnes J., 2003, High Integrity Software: The SPARK Approach to Safety and Security
[7]   FORMAL METHODS APPLIED TO A FLOATING-POINT NUMBER SYSTEM [J].
BARRETT, G .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1989, 15 (05) :611-622
[8]  
CROWCROFT J, 2005, SCALABLE UBIQUITOUS
[9]  
DASILVA C, P 3 IEEE INT C SOFTW, P274
[10]  
Dijkstra E. W., 1968, BIT (Nordisk Tidskrift for Informationsbehandling), V8, P174, DOI 10.1007/BF01933419