Correct Code Containing Containers

Claire Dross 1, 2 Jean-Christophe Filliâtre 1, 2 Yannick Moy 3
2 PROVAL - Proof of Programs
UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR
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.
Document type :
Conference papers
Complete list of metadatas

Cited literature [13 references]  Display  Hide  Download

https://hal.inria.fr/hal-00777683
Contributor : Claude Marché <>
Submitted on : Thursday, January 17, 2013 - 5:44:53 PM
Last modification on : Tuesday, August 27, 2019 - 1:20:03 PM
Long-term archiving on : Thursday, April 18, 2013 - 4:02:10 AM

File

dross11tap.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00777683, version 1

Collections

Citation

Claire Dross, Jean-Christophe Filliâtre, Yannick Moy. Correct Code Containing Containers. TAP - 5th International Conference on Tests and Proofs, 2011, Zurich, Switzerland. ⟨hal-00777683⟩

Share

Metrics

Record views

469

Files downloads

391