• DocumentCode
    3489477
  • Title

    Diverse Partial Memory Replication

  • Author

    Lefever, Ryan M. ; Adve, Vikram S. ; Sanders, William H.

  • Author_Institution
    Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
  • fYear
    2010
  • fDate
    June 28 2010-July 1 2010
  • Firstpage
    71
  • Lastpage
    80
  • Abstract
    An important approach for software dependability is the use of diversity to detect and/or tolerate errors. We develop and evaluate an approach for automated program diversity called Diverse Partial Memory Replication (DPMR), aimed at detecting memory safety errors. DPMR is an automatic compiler transformation that replicates some subset of an executable´s data memory and applies one or more diversity transformations to the replica. DPMR can detect any kind of memory safety errors in any part of a program´s data memory. Moreover, DPMR is novel because it uses partial replication within a single address space, replicating (and comparing) only a subset of a program´s memory. We also perform a detailed study of the diversity mechanisms and state comparison policies in DPMR (a first of its kind for such diversity approaches), which is valuable for exploiting the high flexibility of DPMR.
  • Keywords
    error handling; program compilers; software fault tolerance; automated program diversity; compiler transformation; data memory; diverse partial memory replication; memory safety error detection; program data memory; software dependability; Application software; Buffer overflow; Costs; NIST; Programming profession; Runtime; Software safety; diversity; experimental evaluation; fault injection; replication; software memory errors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Dependable Systems and Networks (DSN), 2010 IEEE/IFIP International Conference on
  • Conference_Location
    Chicago, IL
  • Print_ISBN
    978-1-4244-7500-1
  • Electronic_ISBN
    978-1-4244-7499-8
  • Type

    conf

  • DOI
    10.1109/DSN.2010.5545012
  • Filename
    5545012