Skip to Main Content
Critical industrial applications or fault tolerant applications need for operating systems (OS), which guarantee a correct and safe behaviour in spite of the appearance of errors. In order to validate the behaviour of an operating system, software fault injection techniques can be used. These techniques could be used to corrupt the information of some of the operating system calls to see how the system reacts in front of invalid or corrupted values at the kernel calls. The research work presented in this paper is about development and preliminary 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 OS.