Ghosts for lists: A critical module of Contiki verified in Frama-C

12Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

Blanchard, A., Kosmatov, N., & Loulergue, F. (2018). Ghosts for lists: A critical module of Contiki verified in Frama-C. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10811 LNCS, pp. 37–53). Springer Verlag. https://doi.org/10.1007/978-3-319-77935-5_3

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free