Searcharxiv⌕ Search

arXiv subjects

Umut Durak

Publications and source records attributed to Umut Durak.

2 recordsLinked to original sources

Beyond Source Compatibility: WebAssembly as a Stable ABI for ARINC 653 Applications

Thirty years ago, ARINC 653 was introduced to provide a vendor-independent platform for software applications in Integrated Modular Avionics (IMA). A platform is characterized by a well-defined interface abstracting over implementation details; in the case of ARINC 653 this is an Application Programming Interface (API), defined on the source-code level. However, several aspects of this API - such as the memory layout and partially also the integer bit width of data types - remain implementation dependent, so portability across Operating Systems (OSs) requires recompilation, and often also source code adaptation. Our contribution is three-fold; first, we refine the ARINC 653 header file, eliminating remaining ambiguities. Second, building on WebAssembly (Wasm), we define an OS- and processor-architecture-agnostic Application Binary Interface (ABI) at the object-code level, resolving differences in data layout, endianness, and function-pointer representation between host and guest environments. Third, we demonstrate a Wasm-VM-agnostic shim-library that executes ARINC 653 partitions, compiled to Wasm bytecode and following our ABI, on multiple processor architectures using two independent Wasm runtimes.

cs.OS↗

Towards Modified Condition/Decision Coverage of Rust

Testing is an essential tool to assure software, especially so in safety-critical applications. To quantify how thoroughly a software item has been tested, a test coverage metric is required. Maybe the strictest such metric known in the safety critical systems is Modified Condition/Decision Coverage (MC/DC), which DO-178C prescribes for the highest software assurance level in aviation. In the past, ambiguities in the interpretation of MC/DC have been resolved already, i. e. in CAST-10. However, some central features of the Rust programming language necessitate further clarification. This work investigates aforementioned features, in particular pattern matching, providing a consistent view on how to apply MC/DC to Rust. Hence, this paper informs the implementation of Rust MC/DC tools, paving the road towards Rust in high-assurance applications.

cs.SE↗