Bring Support for Zephyr Analysis to ARA

ARA is a program to statically analyze a real-time system to extract all operating system instances (like threads) together with their interactions (what thread interact with this queue?). Currently, it is able to analyze applications written for FreeRTOS (providing dynamic instances only) and the OSEK API (providing static instances only).

Zephyr is a full-featured RTOS guided by the Linux Foundation. It support static and dynamic instances and provides a high amount of configuration options. The goal of this thesis is to bring support for Zephyr analysis to ARA.

The tasks that should be done in the thesis are:

  • Extend the existing RTOS model to support Zephyr.
  • Implement the necessary analysis steps.
  • Evaluate the implementation with appropriate Zephyr based real-time systems.

Topics covered by this thesis:
real-time systems, static analysis, LLVM, C++, C, Python

Further Reading

OSPERT Workshop
ARA: Automatic Instance-Level Analysis in Real-Time Systems
Gerion Entrup, Benedikt Steinmeier, Christian DietrichProceedings of the 15th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '19)2019.
PDF [BibTex]
OSPERT Workshop Best Paper Award
Levels of Specialization in Real-Time Operating Systems
Björn Fiedler, Gerion Entrup, Christian Dietrich, Daniel LohmannProceedings of the 14th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '18)2018Best Paper Award.
PDF [BibTex]
TECS Journal A
Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis
Christian Dietrich, Martin Hoffmann, Daniel LohmannACM Transactions on Embedded Computing Systems16.2ACM Press2017.
PDF Raw Data 10.1145/2950053 [BibTex]
Zeyphr documentation: https://docs.zephyrproject.org/latest/index.html