Conference paper Open Access

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

Blanchard, Allan; Kosmatov Nikolai; Loulergue, Frederic


Dublin Core Export

<?xml version='1.0' encoding='utf-8'?>
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:creator>Blanchard, Allan</dc:creator>
  <dc:creator>Kosmatov Nikolai</dc:creator>
  <dc:creator>Loulergue, Frederic</dc:creator>
  <dc:date>2018-04-19</dc:date>
  <dc:description>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.</dc:description>
  <dc:identifier>https://zenodo.org/record/1402494</dc:identifier>
  <dc:identifier>10.5281/zenodo.1402494</dc:identifier>
  <dc:identifier>oai:zenodo.org:1402494</dc:identifier>
  <dc:relation>info:eu-repo/grantAgreement/EC/H2020/731453/</dc:relation>
  <dc:relation>doi:10.5281/zenodo.1402493</dc:relation>
  <dc:relation>url:https://zenodo.org/communities/vessedia</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>https://creativecommons.org/licenses/by/4.0/legalcode</dc:rights>
  <dc:subject>linked lists</dc:subject>
  <dc:subject>deductive verification</dc:subject>
  <dc:subject>operating system</dc:subject>
  <dc:subject>internet of things</dc:subject>
  <dc:subject>Frama-C</dc:subject>
  <dc:title>Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C</dc:title>
  <dc:type>info:eu-repo/semantics/conferencePaper</dc:type>
  <dc:type>publication-conferencepaper</dc:type>
</oai_dc:dc>
54
128
views
downloads
All versions This version
Views 5454
Downloads 128127
Data volume 65.7 MB65.1 MB
Unique views 4545
Unique downloads 124123

Share

Cite as