Applying Runtime Verification in Real-Time Systems with FreeRTOS - Broering, Elton Ferreira; Becker, Leandro Buss (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC); 2022: Anais do XII Simpósio Brasileiro de Engenharia de Sistemas Computacionais, 2022)
Runtime Verification (RV) is a lightweight and dynamic technique that checks the current execution of the system through structures called monitors and produces a verdict on whether or not this execution satisfies a certain property of the system correction. Pedro et.al. developed a framework for performing RV of bare-metal real-time embedded systems (RTS). It consists of a tool for automatic synthesizing of C++11 targeted monitors and a runtime library to support docking monitors on bare metal boards. The framework is capable of handling explicit time and durations, two of the essential concepts for anomaly detection of hard real-time systems. A limitation of this tool is that it only follows the POSIX standard. However, many real-time bare-metal embedded system applications do not support this architecture, such as those using FreeRTOS. This work aims to complement such work. Its goal is to update the RV process, making an adaptation for using it in non-POSIX RTOS, such as the FreeRTOS. The paper details the proposed system, also presenting a study to analize the scheduling feasibility of a real-time task set.