Dietrich, ChristianChristianDietrichNaumann, StefanStefanNaumannThrift, RobinRobinThriftLohmann, DanielDanielLohmann2021-04-082021-04-08201940th IEEE Real-Time Systems Symposium (2019)http://hdl.handle.net/11420/9239Real-time control applications are usually imple-mented by mapping their real-time model (i.e., tasks, sharedresources, and external events) onto software instances of RTOSabstractions, such as threads, locks and ISRs. These instantiatedobjects and their interactions define what actually happens onthe imperative machine; they implement the desired behavior.However, during the lifetime of many projects, the initial real-time model gets lost, becomes outdated, or never existed atall, as all (further) development has been code centric: Thesource code is all that we have. So developers face a situationwhere further modifications of the real-time system, but also anyattempt of static RTOS tailoring, requires the extraction andthe understanding of the employed RTOS instances and theirconcrete interactions from the source code.We present ARA, a tool capable of automatically retrievinginstance-level knowledge (e.g., the instanciated threads, locks, orISRs) from a given (real-time) application. ARA is an RTOS-aware static analyzer that derives, given the application source,a graph of the employed RTOS abstractions, their concreteinstances, and how these instances interact with each other atrun time. We describe the design principles behind ARA andvalidate its implementation with four example applications forOSEK/AUTOSAR and FreeRTOS.enRT.js: Practical Real-Time Scheduling for Web ApplicationsConference Paper10.1109/RTSS46320.2019.00017Other