Deductive Verification of Cooperative RTOS Applications

Tasche P; Herber P; Huisman M

Research article (journal) | Peer reviewed

Abstract

Embedded systems are used in many safety-critical domains, including in medicine, traffic, and critical infrastructure. Due to the strict timing requirements such systems usually have to fulfill, they often run on real-time operating systems (RTOS). As the RTOS influences the function and the timing behavior of the system, it becomes important to rigorously ensure the correctness and safety of applications running on them while taking into account the semantics of the operating system. Existing verification approaches are either limited to specific RTOS components or based on explicit state space exploration techniques such as model checking, which do not scale well for concurrent or timed applications. In this article, we propose a deductive approach to verify crucial safety properties about applications written for the widely-used RTOS FreeRTOS using the VerCors verifier. Our key ideas are threefold: (1) We provide a formalization of a wide variety of FreeRTOS features and an automatic encoding of FreeRTOS applications for verification with VerCors. (2) We adapt and enhance an existing approach for automatic invariant generation to largely automate the typically high-effort verification process. (3) We present a systematic technique to verify both functional and timing-related properties of cooperative RTOS applications. We demonstrate the applicability of our approach on a FreeRTOS demo application as well as an adaptive cruise control system.

Details about the publication

JournalTransactions on Embedded Computing Systems
Volume24
Issue5s
StatusPublished
Release year2025
Language in which the publication is writtenEnglish
DOI10.1145/3759251
Link to the full texthttps://doi.org/10.1145/3759251
KeywordsDeductive verification, embedded systems, real time, RTOS

Authors from the University of Münster

Herber, Paula
Professorship for practical comuter science