The Spirit of Ghost Code

Jean-Christophe Filliâtre 1, 2 Léon Gondelman 1, 2 Andrei Paskevich 1, 2
2 TOCCATA - Certified Programs, Certified Tools, Certified Floating-Point Computations
LRI - Laboratoire de Recherche en Informatique, UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR8623
Abstract : In the context of deductive program verification, ghost code is a part of the program that is added for the purpose of specification. Ghost code must not interfere with regular code, in the sense that it can be erased without observable difference in the program outcome. In particular, ghost data cannot participate in regular computations and ghost code cannot mutate regular data or diverge. The idea exists in the folklore since the early notion of auxiliary variables and is implemented in many state-of-the-art program verification tools. However, ghost code deserves rigorous definition and treatment, and few formalizations exist. In this article, we describe a simple ML-style programming language with muta-ble state and ghost code. Non-interference is ensured by a type system with effects, which allows, notably, the same data types and functions to be used in both regular and ghost code. We define the procedure of ghost code erasure and we prove its safety using bisimulation. A similar type system, with numerous extensions which we briefly discuss, is implemented in the program verification environment Why3.
Type de document :
Article dans une revue
Formal Methods in System Design, Springer Verlag, 2016, 48 (3), pp.152-174. 〈10.1007/s10703-016-0243-x〉
Liste complète des métadonnées

Littérature citée [21 références]  Voir  Masquer  Télécharger

https://hal.archives-ouvertes.fr/hal-01396864
Contributeur : Andrei Paskevich <>
Soumis le : mardi 15 novembre 2016 - 10:09:10
Dernière modification le : jeudi 5 avril 2018 - 12:30:22
Document(s) archivé(s) le : jeudi 16 mars 2017 - 18:16:40

Fichier

main.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Citation

Jean-Christophe Filliâtre, Léon Gondelman, Andrei Paskevich. The Spirit of Ghost Code. Formal Methods in System Design, Springer Verlag, 2016, 48 (3), pp.152-174. 〈10.1007/s10703-016-0243-x〉. 〈hal-01396864〉

Partager

Métriques

Consultations de la notice

640

Téléchargements de fichiers

156