Reliability study of an embedded operating system for industrial applications
Critical industrial applications or fault tolerant applications need for operating systems (OS) which guarantee a correct and safe behaviour despite the appearance of errors. In order to validate the behaviour of an operating system in front of errors, software fault injection techniques can be used. These techniques can be used to corrupt the information of some of the operating system calls to see how the system react in front of invalid or corrupted values at the kernel calls. The research work presented in this paper is about the development and results obtained from the experimentation on software fault injection in an embedded system composed by a Real-Time Operating System (RTOS) like MicroC/OS-II and a microcontroller as the Infineon C167. A software fault injection tool has been developed. The methodology proposed treated the operating system as a black-box where the source code was not available. With this objective a layer between the operating system and the application to be executed has been developed. OS error detection coverage has been measured and observations about OS critical data structures to be improved have been commented, in order to improve the final robustness of the operating system.
Full Text: PDF