Impact op de Betrouwbaarheid van Software door Implementatie van Selectieve Beschermingstechnieken op Laag-Niveau Code
Microcontrollers are the heart of embedded systems. Thanks to developments in technological downscaling, microcontroller manufacturing has progressed significantly in recent years. As a result, embedded systems' performance and component density have increased considerably, allowing more functionality to be packed into smaller chips. This was made possible by lowering the supply voltage and shrinking transistor size, but these developments do come at the cost of increasing microcontrollers' vulnerability to the bit flips phenomena. This phenomenon causes a bit to change from its intended state (logical 0 to 1 or 1 to 0). Without detection mechanisms in place, these bit flips may result in silent errors, specifically data flow errors or control flow errors, leading to unpredictable and undesirable behavior in the system and ultimately impacting the reliability of embedded systems. While many previous studies have focused on developing Software-Implemented Hardware Fault Tolerance (SIHFT) techniques, the results indicate that these software-based methods are often impractical to implement in real-world cases. Additionally, in cases where they are implementable, they can lead to excessive overhead. Therefore, this work takes a novel approach to addressing this problem. Instead of fully protecting the system, throughout this research, the application's behavior was analyzed at runtime using two criteria: (1) selecting components based on their memory interaction, and (2) selecting components based on their fault injection vulnerability. This analysis enables the ranking of components based on their vulnerability, focusing only on those most at risk. After identifying the vulnerable components, Selective Software-Implemented Fault Tolerance - Recovery (S-SWIFT-R), a well-known software protection method against bit flips, is applied to protect the selected components. These additional protection codes are directly included at the assembly level in the low-level code of the program. Extending our compiler plugin, which automatically implements software-based protection algorithms, to include S-SWIFT-R makes adopting this technique more convenient. This tool is available as a public GNU Compiler Collection (GCC) plugin under a GNU General Public License (GPL) license model. The impact of the proposed approach was evaluated through academic and two industrial case studies. These industrial case studies are: 1) the autonomous mobile robots (AMR) of the Ultimate Factory lab, and 2) a small-scale factory. The first case study was conducted in the Ultimate Factory Lab, which is equipped with AMRs and various stations. The first significant step involved developing four test cases that represented the primary behaviors of the AMRs in the lab. To evaluate these test cases, throughout this research, a fault injection mechanism was implemented to introduce bit flips, and a monitoring system was established to assess performance under fault conditions. The second case study is on a small-scale factory including three stations: the testing station, the distribution station, and the sorting station. Each station is controlled by its microcontroller. The impact of fault injection is evaluated on them by introducing bit flips in each station and then applying the S-SWIFT-R protection technique. The results demonstrated that the selective approach significantly reduced system overhead and the number of components that needed to be reserved compared to a full implementation. However, there was some impact on the application's reliability. Given that S-SWIFT-R is a selective methodology the number of protected components was gradually increased, allowing for the assessment of improvements at each stage and identification of the optimal balance between overhead and reliability. These studies demonstrate the effectiveness and impact of the proposed approach. Finally, in this research, in collaboration with other researchers, the register analysis framework was used to reduce the overhead of DETECTOR, a SIHFT method. This led to the development of S-DETECTOR, the selective version of DETECTOR, which has a notably beneficial effect on reducing the associated overheads.
Publication Details
- Journal
- Lirias
- Published
- 2025-02-10
- Primary Topic
- Radiation Effects in Electronics
- Type
- article
- Field-Weighted Citation Impact
- 0.00