{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/24042"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/24042","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Diverse partial memory replication","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 error 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 propose and evaluate two strategies for handling pointers stored in memory, a key challenge to DPMR. 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. Finally, we explore the use of Data Structure Analysis to eliminate nearly all restrictions on input programs that would otherwise be necessary.","abstract_html":"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&#x27;s data memory and applies one or more diversity transformations to the replica. DPMR can detect any kind of memory safety error in any part of a program&#x27;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&#x27;s memory. We propose and evaluate two strategies for handling pointers stored in memory, a key challenge to DPMR. 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. Finally, we explore the use of Data Structure Analysis to eliminate nearly all restrictions on input programs that would otherwise be necessary.","abstract_has_math":false,"creators":["Lefever, Ryan M."],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Electrical & Computer Engr","degree_department":null,"school":null,"contributors":["Sanders, William H.","Adve, Vikram S.","Nicol, David M.","Patel, Sanjay J."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-25T15:05:32Z","date_published":"2011-05-25T15:05:32Z","updated_at":"2026-07-22T22:25:24Z","subjects":["replication","diverse partial memory replication","software memory errors","memory safety","software diversity","partial replication","fault injection","experimental evaluation"],"languages":["en"],"rights":["Copyright 2011 Ryan M. Lefever"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/24042","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Sanders, William H.","Adve, Vikram S.","Nicol, David M.","Patel, Sanjay J."]},{"key":"dc:creator","label":"Author","values":["Lefever, Ryan M."]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-25T15:05:32Z","2011-05"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Electrical & Computer Engr"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["replication","diverse partial memory replication","software memory errors","memory safety","software diversity","partial replication","fault injection","experimental evaluation"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2011 Ryan M. Lefever"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/24042"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["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 error 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 propose and evaluate two strategies for handling pointers stored in memory, a key challenge to DPMR. 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. Finally, we explore the use of Data Structure Analysis to eliminate nearly all restrictions on input programs that would otherwise be necessary.","Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2011-04-11T13:18:53Z Item was in collections: University of Illinois Theses & Dissertations (ID: 1) No. of bitstreams: 2 Lefever_Ryan.tgz: 7869862 bytes, checksum: c62c6909c168c86b7e36820a3845d8b0 (MD5) Lefever_Ryan.pdf: 780685 bytes, checksum: 89be24d0fcf3ccbe19bb28efea8483ab (MD5)","Made available in DSpace on 2011-05-25T15:05:32Z (GMT). No. of bitstreams: 3 Lefever_Ryan.pdf: 780685 bytes, checksum: 89be24d0fcf3ccbe19bb28efea8483ab (MD5) license.txt: 4061 bytes, checksum: e99c1cba6714032e6796b80cdb9fd097 (MD5) Lefever_Ryan.tgz: 7869862 bytes, checksum: c62c6909c168c86b7e36820a3845d8b0 (MD5)"]},{"key":"dc:title","label":"Title","values":["Diverse partial memory replication"]}]}],"canonical_facts":{"dc:contributor":["Sanders, William H.","Adve, Vikram S.","Nicol, David M.","Patel, Sanjay J."],"dc:creator":["Lefever, Ryan M."],"dc:date":["2011-05-25T15:05:32Z","2011-05"],"dc:description":["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 error 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 propose and evaluate two strategies for handling pointers stored in memory, a key challenge to DPMR. 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. Finally, we explore the use of Data Structure Analysis to eliminate nearly all restrictions on input programs that would otherwise be necessary.","Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2011-04-11T13:18:53Z Item was in collections: University of Illinois Theses & Dissertations (ID: 1) No. of bitstreams: 2 Lefever_Ryan.tgz: 7869862 bytes, checksum: c62c6909c168c86b7e36820a3845d8b0 (MD5) Lefever_Ryan.pdf: 780685 bytes, checksum: 89be24d0fcf3ccbe19bb28efea8483ab (MD5)","Made available in DSpace on 2011-05-25T15:05:32Z (GMT). No. of bitstreams: 3 Lefever_Ryan.pdf: 780685 bytes, checksum: 89be24d0fcf3ccbe19bb28efea8483ab (MD5) license.txt: 4061 bytes, checksum: e99c1cba6714032e6796b80cdb9fd097 (MD5) Lefever_Ryan.tgz: 7869862 bytes, checksum: c62c6909c168c86b7e36820a3845d8b0 (MD5)"],"dc:identifier":["http://hdl.handle.net/2142/24042"],"dc:language":["en"],"dc:rights":["Copyright 2011 Ryan M. Lefever"],"dc:subject":["replication","diverse partial memory replication","software memory errors","memory safety","software diversity","partial replication","fault injection","experimental evaluation"],"dc:title":["Diverse partial memory replication"],"thesis:degree_discipline":["Electrical & Computer Engr"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:24Z"}