Evaluation of Diverse Compiling for Software-Fault Tolerance

Andrea Höller, Nermin Kajtazovic, Tobias Rauter, Kay Uwe Römer, Christian Josef Kreiner

Research output: Chapter in Book/Report/Conference proceedingConference paperpeer-review

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.
Original languageEnglish
Title of host publicationProceedings of Design, Automation and Test in Europe Conference and Exhibition
Pages531-536
Number of pages6
Publication statusPublished - 2015
EventDesign, Automation and Test in Europe Conference and Exhibition: DATE 2015 - Grenoble, France
Duration: 10 Mar 201510 Mar 2015

Conference

ConferenceDesign, Automation and Test in Europe Conference and Exhibition
Country/TerritoryFrance
CityGrenoble
Period10/03/1510/03/15

Fields of Expertise

  • Information, Communication & Computing

Treatment code (Nähere Zuordnung)

  • Application
  • Experimental

Fingerprint

Dive into the research topics of 'Evaluation of Diverse Compiling for Software-Fault Tolerance'. Together they form a unique fingerprint.

Cite this