Title :
Evaluation of diverse compiling for software-fault detection
Author :
Holler, Andrea ; Kajtazovic, Nermin ; Rauter, Tobias ; Romer, Kay ; Kreiner, Christian
Abstract :
Although software fault prevention techniques improve continually, faults remain in every complex software system. Thus safety-critical embedded systems need mechanisms to tolerate software faults. Typically, these systems use static redundancy to detect hardware faults during operation. However, the reliability of a redundant system not only depends on the reliability of each version, but also on the dissimilarity between them. Thus, researchers have investigated ways to automatically add cost-efficient diversity to software to increase the efficiency of redundancy strategies. One of these automated software diversification methods is diverse compiling, which exploits the diversity introduced by different compilers and different optimization flags. Today, diverse compiling is used to improve the hardware fault tolerance and to avoid common defects from compilers. However, in this paper we show that diverse compiling also enhances the software fault tolerance by increasing the chance of finding defects in the source code of the executed software during runtime. More precisely, the memory is organized differently, when using different compilers and compiler flags. This enhances the chance of detecting memory-related software bugs, such as missing memory initialization, during runtime. Here we experimentally quantify the efficiency of diverse compiling for software fault tolerance and we show that diverse compiling can help to detect up to about 70% of memory-related software bugs.
Keywords :
program compilers; program debugging; software fault tolerance; software reliability; source code (software); automated software diversification methods; compiler flags; complex software system; cost-efficient diversity; diverse compiling evaluation; hardware fault tolerance; memory-related software bugs; missing memory initialization; redundant system reliability; safety-critical embedded systems; software fault prevention techniques; software-fault detection; source code; static redundancy; Benchmark testing; Computer bugs; Fault tolerance; Fault tolerant systems; Hardware; Optimization; Software;
Conference_Titel :
Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015
Conference_Location :
Grenoble
Print_ISBN :
978-3-9815-3704-8