A Verified Implementation of the Bounded List Container

Autor: Raphaël Cauderlier, Mihaela Sighireanu
Rok vydání: 2018
Předmět:
Zdroj: Tools and Algorithms for the Construction and Analysis of Systems ISBN: 9783319899596
TACAS (1)
Popis: This paper contributes to the trend of providing fully verified container libraries. We consider an implementation of the bounded doubly linked list container which manages the list in a fixed size, heap allocated array. The container provides constant time methods to update the list by adding, deleting, and changing elements, as well as cursors for list traversal and access to elements. The library is implemented in C, but we wrote the code and its specification by imitating the ones provided by GNAT for the standard library of Ada 2012. The proof of functional correctness is done using VeriFast, which provides an auto-active verification environment for Separation Logic extended with algebraic data types. The specifications proved entail the contracts of the Ada library and include new features. The verification method we used employs a precise algebraic model of the data structure and we show that it facilitates the verification and captures entirely the library contracts. This case study may be of interest for other verification platforms, thus we highlight the intricate points of its proof.
Databáze: OpenAIRE