Design und Implementierung eines Zephyr-RTOS-Modells für ARA zur statischen Whole-System-Analyse
- Typ der Arbeit: Bachelorarbeit
- Status der Arbeit: abgeschlossen
- Projekte: AHA
- Betreuer: Gerion Entrup, Daniel Lohmann
- Bearbeiter: Kenny Albes
- Ende der Arbeit: 28. Feb 2021
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 interacts with this queue?). It is built upon the LLVM compiler infrastructure and makes heavy use of it's API. Currently, it is able to analyze applications written for FreeRTOS (providing dynamic instances only) and partially the OSEK API (providing static instances only).
Zephyr is a full-featured RTOS guided by the Linux Foundation. It supports 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. Therefore, the system calls of Zephyr must be recognized and interpreted as part of ARA.
The following tasks are part of the thesis:
- Extend the existing RTOS model to support Zephyr.
- Write a basic Zephyr system call interpreter in Python.
- Evaluate the implementation with appropriate Zephyr based real-time systems.
Topics covered by this thesis:
real-time systems, static analysis, LLVM, C++, C, Python
ARA: Automatic Instance-Level Analysis in Real-Time Systems
Proceedings of the 15th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '19)2019.
Best Paper Award
Levels of Specialization in Real-Time Operating Systems
Proceedings of the 14th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '18)2018Best Paper Award.
Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis
ACM Transactions on Embedded Computing Systems16.2ACM Press2017.
PDF Raw Data 10.1145/2950053 [BibTex]