Papers for
embedded software developers
Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.
Schedulability test errors found for self-suspending task scheduling
Comments Paper: Counterexample for Schedulability Analysis for Self-Suspending Tasks under EDF-Like Scheduling
Abstract: This paper provides a counterexample of the sufficient schedulability test for self-suspending real-time tasks under EDF-Like scheduling given by Wang et al. in Theorem 11 of IEEE Transactions on Computers, 74(7):2364-2375, 2025. This paper also shows that their necessary condition is unsound.
Compiler pipeline helps protect devices from timing attacks
FreeSBee: A Constant-Time Compilation Pipeline
Abstract: Constant-time execution is an important security property, especially for IoT devices, that prevents the leakage of sensitive information over timing side-channels. However, achieving constant-time execution is very hard when going down to the cycle level, at least on realistic devices. A lot of research is concerned with producing tools that either determine whether code is constant-time or that ensure it is compiled into a constant-time binary, with various degrees of accuracy. In this work, we present and evaluate a full workflow for hardening against timing side-channels during compilation. It starts with taint analysis to determine the code locations that depend on sensitive information. These are then the object of automated control-flow transformations inside the compiler to seal possible timing side-channels. We evaluate our workflow in detail on a realistic application running on a RISC-V core using both static timing analysis and statistical methods. Even though we do not reach cycle-accurate constant-time execution, our statistical results suggest that our hardened binary is safe against timing attacks.