Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C

Abstract : Internet of Things (IoT) applications are becoming increasingly critical and require rigorous formal verification. In this paper we target Contiki, a widely used open-source OS for IoT, and present a verification case study of one of its most critical modules: that of linked lists. Its API and list representation differ from the classical linked list implementations, and are particularly challenging for deductive verification. The proposed verification technique relies on a parallel view of a list through a companion ghost array. This approach makes it possible to perform most proofs automatically using the Frama-C/WP tool, only a small number of auxiliary lemmas being proved interactively in the Coq proof assistant. We present an elegant segment-based reasoning over the companion array developed for the proof. Finally, we validate the proposed specification by proving a few functions manipulating lists.
Type de document :
Communication dans un congrès
Tenth NASA Formal Methods Symposium - NFM 2018, Apr 2018, Newport News, United States
Liste complète des métadonnées

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

https://hal.inria.fr/hal-01720401
Contributeur : Allan Blanchard <>
Soumis le : jeudi 1 mars 2018 - 11:24:46
Dernière modification le : mardi 3 avril 2018 - 10:32:03
Document(s) archivé(s) le : mercredi 30 mai 2018 - 12:55:24

Fichier

contiki-lists.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01720401, version 1

Collections

Citation

Allan Blanchard, Nikolai Kosmatov, Frédéric Loulergue. Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C. Tenth NASA Formal Methods Symposium - NFM 2018, Apr 2018, Newport News, United States. 〈hal-01720401〉

Partager

Métriques

Consultations de la notice

176

Téléchargements de fichiers

89