On the Analysis of Real-time Operating System Reliability in Embedded Systems

Nowadays, the reliability has become one of the main issues for safety-critical embedded systems, like automotive, aerospace and avionic. In an embedded system, the full system stack usually includes, between the hardware layer and the software/application layer, a middle layer composed by the Operating System (OS) and the middleware. Most of the time, in the literature only the application-layer is considered during the reliability analysis. This is due to the fact that middle layer short execution time makes the probability of a fault affecting it much lower compared to the application-level. Nevertheless, middle layer data structures lifespan is equivalent to the application layer ones. Moreover, all the times a hardware fault propagates to the middle-layer as an error, and especially to the OS, its impact can be expected to be potentially catastrophic. The aim of this work is to study the reliability of a Real-Time Operating System (RTOS) affected by Single Event Upset (SEU) faults. The methodology targets the most relevant variables and data structures of FreeRTOS analyzed through a software-based fault injection. Results show the ability to highlight the criticality in the OS fault tolerance, in terms of system integrity, data integrity and the overall inherent resiliency to faults, potentially leading to selective hardening of the OS.

[1]  Henrique Madeira,et al.  Xception: A Technique for the Experimental Evaluation of Dependability in Modern Computers , 1998, IEEE Trans. Software Eng..

[2]  Alfredo Benso,et al.  Statistical Reliability Estimation of Microprocessor-Based Systems , 2012, IEEE Transactions on Computers.

[3]  Giorgio Di Natale,et al.  A survey on simulation-based fault injection tools for complex systems , 2014, 2014 9th IEEE International Conference on Design & Technology of Integrated Systems in Nanoscale Era (DTIS).

[4]  Daniel P. Siewiorek,et al.  Fault Injection Experiments Using FIAT , 1990, IEEE Trans. Computers.

[5]  Rached Tourki,et al.  An RTOS-based Fault Injection Simulator for Embedded Processors , 2017 .

[6]  Seyed Ghassem Miremadi,et al.  A fast, flexible, and easy-to-develop FPGA-based fault injection technique , 2014, Microelectron. Reliab..

[7]  Felix Salfner,et al.  Software-Implemented Fault Injection at Firmware Level , 2010, 2010 Third International Conference on Dependability.

[8]  Fabian Vargas,et al.  A Hardware-Based Approach for Fault Detection in RTOS-Based Embedded Systems , 2011, 2011 Sixteenth IEEE European Test Symposium.

[9]  Hui Chen,et al.  Reliability demonstration testing method for embedded operating systems , 2010, The 2nd International Conference on Software Engineering and Data Mining.

[10]  Jean Arlat,et al.  Dependability of COTS Microkernel-Based Systems , 2002, IEEE Trans. Computers.

[11]  Maurizio Rebaudengo,et al.  Software-implemented fault injection in operating system kernel mutex data structure , 2014, 2014 IEEE 5th Latin American Symposium on Circuits and Systems.

[12]  Jianxiong Xiao,et al.  DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving , 2015, 2015 IEEE International Conference on Computer Vision (ICCV).

[13]  Ravishankar K. Iyer,et al.  Characterization of linux kernel behavior under errors , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[14]  A. Bosio,et al.  SyRA: Early System Reliability Analysis for Cross-Layer Soft Errors Resilience in Memory Arrays of Microprocessor Systems , 2019, IEEE Transactions on Computers.

[15]  Fang Jianyong Research on the Nonintrusive Resource Level Fault Injection Technology for Windows System , 2016, 2016 IEEE Trustcom/BigDataSE/ISPA.

[16]  Régis Leveugle,et al.  Statistical fault injection: Quantified error and confidence , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[17]  Jacob A. Abraham,et al.  FERRARI: A Flexible Software-Based Fault and Error Injection System , 1995, IEEE Trans. Computers.

[18]  Sanjay J. Patel,et al.  Examining ACE analysis reliability estimates using fault-injection , 2007, ISCA '07.

[19]  Siaw Chen Lee,et al.  rosTest: Universal Test Framework for Real-Time Operating System , 2016, 2016 IEEE 25th Asian Test Symposium (ATS).

[20]  Soonhoi Ha,et al.  FIFA: A Kernel-Level Fault Injection Framework for ARM-Based Embedded Linux System , 2017, 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST).