Title
Correct code containing containers
Abstract
For critical software development, containers such as lists, vectors, sets or maps are an attractive alternative to ad-hoc data structures based on pointers. As standards like DO-178C put formal verification and testing on an equal footing, it is important to give users the ability to apply both to the verification of code using containers. In this paper, we present a definition of containers whose aim is to facilitate their use in certified software, using modern proof technology and novel specification languages. Correct usage of containers and user-provided correctness properties can be checked either by execution during testing or by formal proof with an automatic prover. We present a formal semantics for containers and an axiomatization of this semantics targeted at automatic provers. We have proved in Coq that the formal semantics is consistent and that the axiomatization thereof is correct.
Year
DOI
Venue
2011
10.1007/978-3-642-21768-5_9
TAP
Keywords
Field
DocType
containers,iterators,verification by contracts,annotations,axiomatization,API usage verification,SMT,automatic provers
Data structure,Pointer (computer programming),Programming language,Computer science,Correctness,Algorithm,Gas meter prover,Software development,Semantics,Formal verification,Formal proof
Conference
Volume
ISSN
Citations 
6706
0302-9743
6
PageRank 
References 
Authors
0.49
11
3
Name
Order
Citations
PageRank
Claire Dross1214.52
Jean-Christophe Filliâtre261545.86
Yannick Moy3699.25