Title
Verifying FreeRTOS' Cyclic Doubly Linked List Implementation: From Abstract Specification to Machine Code
Abstract
In order to facilitate proof of correctness, micro-kernels are based on simplicity, providing an application only with the minimal set of features it needs in order to to work. However, simplicity alone does not guarantee the absence of bugs and software errors, and the complexity of an OS often makes such problems difficult to find and fix. In this work, we prove the functional correctness of an abstract model for the C implementation of the cyclic linked list in the real-time micro-kernel FreeRTOS, which is used in the FreeRTOS scheduler, its correctness being of critical importance for the real-time properties of FreeRTOS. The formal specification of the functional properties of FreeRTOS also provides a guide for a correct use of the functions that the implementation provides, since it lacks checks on the data. Additionally, we prove the correctness of the machine code resulting from compiling the implementation targeting the ARM architecture. Following a verification approach based on refinement, we first construct the abstract model of the implementation, where we prove both the cyclic linked list invariant and the correctness of the implementation behaviour for any list in the heap using separation logic. Second, we leverage existing machine code verification frameworks to get a HOL model of the FreeRTOS linked list compiled machine code, and we apply forward simulation to prove that such a machine code model refines the abstract model, and therefore satisfies the properties already proven over the specification.
Year
DOI
Venue
2015
10.1109/ICECCS.2015.23
ICECCS '15 Proceedings of the 2015 20th International Conference on Engineering of Complex Computer Systems (ICECCS)
Keywords
Field
DocType
formal methods
HOL,Programming language,Linked list,Computer science,Correctness,Real-time computing,Formal specification,Theoretical computer science,Machine code,Doubly linked list,Formal methods,Formal verification
Conference
Citations 
PageRank 
References 
0
0.34
16
Authors
5
Name
Order
Citations
PageRank
David Sanán17216.51
Yang Liu22194188.81
Yongwang Zhao39225.04
Zhenchang Xing4138787.95
Mike Hinchey549451.89