• DocumentCode
    703893
  • Title

    Evaluation of diverse compiling for software-fault detection

  • Author

    Holler, Andrea ; Kajtazovic, Nermin ; Rauter, Tobias ; Romer, Kay ; Kreiner, Christian

  • fYear
    2015
  • fDate
    9-13 March 2015
  • Firstpage
    531
  • Lastpage
    536
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015
  • Conference_Location
    Grenoble
  • Print_ISBN
    978-3-9815-3704-8
  • Type

    conf

  • Filename
    7092445