Diverse Partial Memory Replication
R.M. Lefever,Vikram Adve,William H. Sanders +2 more
- 09 Aug 2010
- pp 71-80
TL;DR: This work develops and evaluates an approach for automated program diversity called Diverse Partial Memory Replication (DPMR), aimed at detecting memory safety errors, and performs a detailed study of the diversity mechanisms and state comparison policies in DPMR.
read more
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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures
Citations
A Mirrored Data Structures Approach to Diverse Partial Memory Replication
R.M. Lefever,Vikram Adve,William H. Sanders +2 more
- 08 May 2012
TL;DR: This paper proposes and evaluates an alternative design for detecting memory errors called Mirrored Data Structures (MDS), which sacrifices pointer comparability to gain three primary benefits: 1) MDS significantly increases D PMR's applicability by eliminating all DPMR restrictions on memory allocation, pointer arithmetic, and pointer-to-pointer casts.
References
Basic concepts and taxonomy of dependable and secure computing
TL;DR: The aim is to explicate a set of general concepts, of relevance across a wide range of situations and, therefore, helping communication and cooperation among a number of scientific and technical communities, including ones that are concentrating on particular types of system, of system failures, or of causes of systems failures.
Basic Concepts and Taxonomy of Dependable and Secure Computing
Algirdas Avizienis,Jean-Claude Laprie,Brian Randell,Carl E. Landwehr +3 more
- 01 Jan 2007
TL;DR: In this paper, the main definitions relating to dependability, a generic concept including a special case of such attributes as reliability, availability, safety, integrity, maintainability, etc.
4.3K
System structure for software fault tolerance
TL;DR: In this article, the authors present a method for structuring complex computing systems by the use of what they term "recovery blocks", "conversations", and "fault-tolerant interfaces".
Countering code-injection attacks with instruction-set randomization
Gaurav S. Kc,Angelos D. Keromytis,Vassilis Prevelakis +2 more
- 27 Oct 2003
TL;DR: A new, general approach for safeguarding systems against any type of code-injection attack, by creating process-specific randomized instruction sets of the system executing potentially vulnerable software that can serve as a low-overhead protection mechanism, and can easily complement other mechanisms.
Why software fails [software failure]
TL;DR: Most IT experts agree that software failures occur far more often than they should despite the fact that, for the most part, they are predictable and avoidable as mentioned in this paper. But most organizations don't see preventing failure as an urgent matter, even though that view risks harming the organization and maybe even destroying it.
516





