Conference paper Open Access

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

Blanchard, Allan; Kosmatov Nikolai; Loulergue, Frederic

JSON-LD ( Export

  "description": "<p>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.</p>", 
  "license": "", 
  "creator": [
      "@type": "Person", 
      "name": "Blanchard, Allan"
      "@type": "Person", 
      "name": "Kosmatov Nikolai"
      "@type": "Person", 
      "name": "Loulergue, Frederic"
  "headline": "Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C", 
  "image": "", 
  "datePublished": "2018-04-19", 
  "url": "", 
  "@type": "ScholarlyArticle", 
  "keywords": [
    "linked lists", 
    "deductive verification", 
    "operating system", 
    "internet of things", 
  "@context": "", 
  "identifier": "", 
  "@id": "", 
  "workFeatured": {
    "location": "United States", 
    "@type": "Event", 
    "name": "Tenth NASA Formal Methods Symposium (NFM 2018),"
  "name": "Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C"
All versions This version
Views 5454
Downloads 128127
Data volume 65.7 MB65.1 MB
Unique views 4545
Unique downloads 124123


Cite as