System Calls as Prepared Statements: Extend ARA to Precompute Interaction System Calls
- Typ der Arbeit: Bachelorarbeit
- Status der Arbeit: offen
- Projekte: AHA
- Betreuer: Björn Fiedler, Daniel Lohmann
ARA is a whole-system analyzer and operating-system generator for real-time applications. With ARA, we are able to statically detect otherwise dynamically determined characteristics of real-time applications running in embedded systems. By using this static knowledge, ARAs goal is to improve the nonfunctional properties of the system by statically preparing and optimizing operating system functionality highly specialized towards a given application.
Interactions between system objets such as threads and queues are encoded as system calls. The participants of this communication are usually determined at run time by passing them as parameters. This allows to implement generic system calls for enqueuing some data in any queue, for example. This flexibility does not come for free, but introduces costs as well.
The focus of this thesis is to extend ARAs analyses with an interaction analysis to determine the possible communication partners and their properties for each callsite of such a communication system call. This knowledge should be used to generate the instance graph as described in our OSPERT '18 paper. The generator should be extended to replace the generic interaction calls by specialized implementations using the gathered information. Thereby, the nonfunctional properties such as execution time of these calls should be improved.
Topics covered by this thesis:
whole system compiler, static analysis, LLVM, 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.