Dynamic Analysis of ARINC 653 RTOS with LLVM
Vitaly Cheptsov, Alexey Khoroshilov

TL;DR
This paper explores the application of LLVM-based dynamic analysis tools to airborne real-time operating systems, specifically JetOS, highlighting practical considerations and enhancements for effective defect detection.
Contribution
It introduces a complete LLVM stack support for JetOS, including porting sanitizers like AddressSanitizer, MemorySanitizer, and UndefinedBehaviorSanitizer, tailored for airborne embedded environments.
Findings
Successfully ported LLVM sanitizers to JetOS
Provided practical guidelines for dynamic instrumentation in airborne systems
Enhanced runtime performance for effective defect detection
Abstract
Existing standards for airborne-embedded software systems impose a number of requirements applicable to the software development cycle of hard real-time operating systems found in modern aircraft. The measures taken are meant to reduce the risks of undesired consequences, but have strongly varying costs. Dynamic instrumentation and static analysis are common practices used to automatically find software defects, from strictly non-conforming code constructions to memory corruptions or invalid control flow. LLVM analyser and sanitizer infrastructure, while regularly applied to general-purpose software, originally was not thought to be introduced to heavily restricted environments. In this paper we discuss the specifics of airborne systems with regards to dynamic instrumentation and provide practical considerations to be taken into account for the effective use of general-purpose…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
