Affiliation:
1. AdaCore, Paris, France
2. AdaCore, New York, NY, USA
Abstract
Formal program verification tools check that a program correctly implements its specification. Existing specification languages for well-known programming languages (Ada, C, Java, C#) have been developed independently from the programming language to which they apply. As a result, specifications are expressed separately from the code, typically as stylized comments, and the verification tools often bear no direct relation to the production compiler. We argue that this approach is problematic, and that the compiler and the verification tools should be integrated seamlessly. Based on our current work on the Hi-Lite project to develop a formal verification tool for Ada2012, we show that in an integrated setting, the compiler becomes the centerpiece of the verification architecture, and supports both static proofs and run-time assertion checking. Such an environment does much to simplify software certification.
Publisher
Association for Computing Machinery (ACM)
Reference24 articles.
1. Eiffel : Analysis design and programming language. Standard ECMA-367 2d Edition (2006). Eiffel : Analysis design and programming language. Standard ECMA-367 2d Edition (2006).
2. The Spec# Programming System: An Overview
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Why3 — Where Programs Meet Provers;Programming Languages and Systems;2013