Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Computer
High Integrity Software: The SPARK Approach to Safety and Security
High Integrity Software: The SPARK Approach to Safety and Security
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Jessie: an intermediate language for Java and C verification
PLPV '07 Proceedings of the 2007 workshop on Programming languages meets program verification
Tutorial on JML, the java modeling language
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Using SMT solvers to verify high-integrity programs
Proceedings of the second workshop on Automated formal methods
The Spec# Programming System: Challenges and Directions
Verified Software: Theories, Tools, Experiments
VCC: A Practical System for Verifying Concurrent C
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
The Why/Krakatoa/Caduceus platform for deductive program verification
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Hi-index | 0.00 |
We present a case-study of developing a simple software module using contracts, and rigorously verifying it for safety and functional correctness using two very different programming languages, that share the fact that both are extensively used in safety-critical development: SPARK and C/ACSL. This case-study, together with other investigations not detailed here, allows us to establish a comparison in terms of specification effort and degree of automation obtained with each toolset.