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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Impact op de Betrouwbaarheid van Software door Implementatie van Selectieve Beschermingstechnieken op Laag-Niveau Code

Lirias
Radiation Effects in Electronics
article

Impact op de Betrouwbaarheid van Software door Implementatie van Selectieve Beschermingstechnieken op Laag-Niveau Code

article en

Abstract

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.

Lirias
Openalex Percentile: Top 44%
Radiation Effects in Electronics
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.