arrow
返回

Co-Developing Programs and Their Proof of Correctness

delete2024-02-22
delete0
delete
OA
AI
R
Roderick Chapman *
C
Claire Dross
S
S Matthews
Y
Yannick Moy
DOI:10.1145/3624728delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
The SPARK programming language and analyzer. TWENTY YEARS AGO, Sir Tony Hoare proposed a grand challenge to the computing research community: to develop a verifying compiler [which] uses mathematical and logical reasoning to check the correctness of the programs that it compiles. Hoare went on to set demanding success criteria for this effort: If the project is successful, a verifying compiler will be available as a standard tool in some widely used programming productivity toolset.(26) While there have been some notable successes with program verification systems,a the use of such systems is still perceived as a niche activity for the most critical and specialized projects(1,23,29,30,34) Program verification systems based on automatic techniques have also emerged.(9,11,14,16,33) These systems occupy a middle ground in the landscape of verification techniques, between push-button tools that require minimal setup and fully interactive proof assistants. The approach has been called auto-activea portmanteau of automatic and interactive-where users develop the proof and the program at the same time through the use of assertions and other contracts in the programming language. The open source SPARK technology is a prominent member of that family, with a history dating back to 1987. The objective of this article is to explain the auto-active approach for co-developing programs and their proof of correctness, present the key design and technological choices that made SPARK industrially successful, and what this means for the future of SPARK or analyzers of that same family.
Keyword:
VERIFICATION
SOFTWARE
SPECIFICATION

期刊

Communications of the ACM 封面图
Communications of the ACM
IF:
12.2
论文数:
1.2W
被引数:
3.7W

机构

暂无机构信息
引用论文

引用论文

Computational fluid dynamics and combustion modelling of HIsarna incinerator
err2016-03-08
err0
PREAI
errR. Sripriya; T. Peeters; K. Meijer; C. Zeilstra; D. van der Plas
err分享
err收藏
Influence of supported gold particles on the surface reactions of diethylamine on TiO2
err2016-11-01
err0
PREAI
errAdan G. Sarmiento-Lopez; Gerardo Berumen-España; Cesar Lopez-Serrano; Juan C. Fierro-Gonzalez
err分享
err收藏
The Dogged Pursuit of Bug-Free C Programs: The Frama-C Software Analysis Platform
err2021-07-26
err32
errOAAI
errBaudin, Patrick; Bobot, Francois; Buhler, David; Correnson, Loic; Kirchner, Florent; Kosmatov, Nikolai; Maroneze, Andre; Perrelle, Valentin; Prevosto, Virgile; Signoles, Julien; Williams, Nicky
err分享
err收藏
Is proof more cost-effective than testing?
err2000-01-01
err39
PREAI
errKing, S; Hammond, J; Chapman, R; Pryor, A
err分享
err收藏
err分享
err收藏
Near Field Characterization of an Imaging System Based on a Frequency Scanning Antenna Array
err2013-05-01
err0
PREAI
errCarlos Vazquez; Cebrian Garcia; Yuri Alvarez; Samuel Ver-Hoeye; Fernando Las-Heras
err分享
err收藏
Behavioral Interface Specification Languages
err2012-06-14
err74
PREAI
errHatcliff, John; Leavens, Gary T.; Leino, K. Rustan M.; Mueller, Peter; Parkinson, Matthew
err分享
err收藏
err分享
err收藏
Kinetic Study on Thermal Decomposition Behavior of Hematite Ore Fines at High Temperature
err2019-12-12
err0
PREAI
errLiyong Xing; Yingxia Qu; Chunsong Wang; Lei Shao; Zongshu Zou; Wenjun Song
err分享
err收藏
学者 查看更多内容