Conference paper Open Access

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

Blanchard, Allan; Kosmatov Nikolai; Loulergue, Frederic


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.1402494</identifier>
  <creators>
    <creator>
      <creatorName>Blanchard, Allan</creatorName>
      <givenName>Allan</givenName>
      <familyName>Blanchard</familyName>
    </creator>
    <creator>
      <creatorName>Kosmatov Nikolai</creatorName>
    </creator>
    <creator>
      <creatorName>Loulergue, Frederic</creatorName>
      <givenName>Frederic</givenName>
      <familyName>Loulergue</familyName>
    </creator>
  </creators>
  <titles>
    <title>Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2018</publicationYear>
  <subjects>
    <subject>linked lists</subject>
    <subject>deductive verification</subject>
    <subject>operating system</subject>
    <subject>internet of things</subject>
    <subject>Frama-C</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2018-04-19</date>
  </dates>
  <resourceType resourceTypeGeneral="Text">Conference paper</resourceType>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/1402494</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.1402493</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="URL" relationType="IsPartOf">https://zenodo.org/communities/vessedia</relatedIdentifier>
  </relatedIdentifiers>
  <rightsList>
    <rights rightsURI="https://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;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.&lt;/p&gt;</description>
  </descriptions>
  <fundingReferences>
    <fundingReference>
      <funderName>European Commission</funderName>
      <funderIdentifier funderIdentifierType="Crossref Funder ID">10.13039/501100000780</funderIdentifier>
      <awardNumber awardURI="info:eu-repo/grantAgreement/EC/H2020/731453/">731453</awardNumber>
      <awardTitle>VERIFICATION ENGINEERING OF SAFETY AND SECURITY CRITICAL DYNAMIC INDUSTRIAL APPLICATIONS</awardTitle>
    </fundingReference>
  </fundingReferences>
</resource>
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