Extending a compiler backend for complete memory error detection

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Abstract

Technological advances drive hardware to ever smaller feature sizes' causing devices to become more vulnerable to faults. Applications can be protected against errors resulting from faults by adding error detection and recovery measures in software. This is popularly achieved by applying automatic program transformations. However' transformations applied to intermediate program representations are fundamentally incapable of protecting against vulnerabilities that are introduced during compilation. In particular' the compiler backend may introduce additional memory accesses. This report presents an extended compiler backend that protects these accesses against faults in the memory system. It is demonstrated that this enables the detection of all single bit flips in memory. On a subset of SPEC CINT2006 the runtime overhead caused by the extended backend amounts to 1:50x for the 32-bit processor architecture i386' and 1:13x for the 64-bit architecture x86 64.

Details

Original languageEnglish
Title of host publicationAutomotive - Safety and Security 2017
EditorsErhard Plodereder, Peter Dencker, Herbert Klenk, Hubert B. Keller
PublisherGesellschaft fur Informatik (GI)
Pages61-74
Number of pages14
ISBN (electronic)9783885796633
Publication statusPublished - 2017
Peer-reviewedYes

Publication series

SeriesGI-Edition : lecture notes in informatics. Proceedings
VolumeP-269
ISSN1617-5468

Conference

Title7. Tagung Automotive � Safety and Security 2017: Sicherheit und Zuverlassigkeit fur Automobile Informationstechnik - 7th Conference on Automotive - Safety and Security 2017: Safety and Reliability for Automotive Information Technology
Duration30 - 31 May 2017
CityStuttgart
CountryGermany

External IDs

ORCID /0000-0002-5007-445X/work/141545556

Keywords

Research priority areas of TU Dresden

ASJC Scopus subject areas

Keywords

  • Code generation, Compiler backend, Error detection, Fault tolerance, Intermediate representation (IR), LLVM, Memory errors, Resilience, Soft errors, Transient hardware faults