IEEE Transactions on Nuclear Science | 2021

Investigating How Software Characteristics Impact the Effectiveness of Automated Software Fault Tolerance

 
 
 

Abstract


A number of publications have examined automated fault tolerance techniques for software running on commercial off-the-shelf microcontrollers. Recently, we published an automated compiler-based protection tool called COmpiler Assisted Software fault Tolerance (COAST), a tool that automatically inserts dual- or triple-modular redundancy into software programs. In this study, we use COAST to explore how the effectiveness of automated fault protection varies between different benchmarks, tested on an ARM Cortex-A9 platform. Our hypothesis is that certain benchmark characteristics are more likely than others to influence the effectiveness of automated fault protection. Through neutron radiation testing at the Los Alamos Neutron Science Center (LANSCE), we show that cross section improvements vary from <inline-formula> <tex-math notation= LaTeX >$1.6\\times $ </tex-math></inline-formula> to <inline-formula> <tex-math notation= LaTeX >$54\\times $ </tex-math></inline-formula> across eight benchmark variants. We then explore the characteristics of these benchmarks and investigate how properties of these benchmarks may impact the effectiveness of automated fault protection. Finally, we leverage a novel fault injection platform to isolate two of these benchmark characteristics and validate our hypotheses.

Volume 68
Pages 1014-1022
DOI 10.1109/TNS.2021.3073259
Language English
Journal IEEE Transactions on Nuclear Science

Full Text