{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/109436"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/109436","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Democratizing error-efficient computing","abstract":"We live in a world where errors in computing are becoming ubiquitous and come from a wide variety of sources -- from unintentional bit flips in devices to deliberate approximations and malicious attacks. Future systems must be built to extract maximum computational efficiency while operating with heterogeneous sources of errors. The paradigm of Error-Efficient Computing offers a promising solution by designing efficient computing systems that conserve resources (e.g., time, energy, cost) by allowing the system to make controlled errors. Despite its promise, the widespread adoption of error-efficiency has been thwarted by (1) a lack of principled and uni ed methodologies to assess and exploit error-efficiency opportunities in a given system and (2) excessive programmer burden. This dissertation addresses these limitations by developing methodologies that enable systematic, principled and scalable application of error-efficiency with minimal programmer input. Starting from first principles, the first contribution of this work is the development of automated application-level error analysis tools and techniques that can automatically determine, with high speed and accuracy, the output that a given program will produce for each of the billions of errors that the program might encounter in its computation and data. Using automated error analysis, a comprehensive view of the application's error characteristics, or in other words its error pro file, is derived without the need for programmer expertise. To demonstrate the versatility of this approach, the next contribution of this work is to show how the automatically generated application error profi les can be used to devise different (hardware- and software-based) error efficiency solutions -- from low-cost resiliency to approximate computing -- that can be customized to the application and/or user requirements and output quality targets. Finally, using the novel insight that analyzing a piece of software for (hardware) errors should be similar to testing it for software bugs, concepts from software testing are systematically adapted to significantly improve the speed and scalability of automated error analyses; while the improvements in speed and scalability make error analysis more practical within a computing stack, the methodology used lays the foundation for a principled integration of (hardware) error analysis into the software development work-flow. Overall, the contributions of this dissertation further the goal of enabling the adoption of error-efficiency as a first-class design principle by developing systematic methodologies that allow a principled, unified, and yet, customizable way of exploiting error-efficiency.","abstract_html":"We live in a world where errors in computing are becoming ubiquitous and come from a wide variety of sources -- from unintentional bit flips in devices to deliberate approximations and malicious attacks. Future systems must be built to extract maximum computational efficiency while operating with heterogeneous sources of errors. The paradigm of Error-Efficient Computing offers a promising solution by designing efficient computing systems that conserve resources (e.g., time, energy, cost) by allowing the system to make controlled errors. Despite its promise, the widespread adoption of error-efficiency has been thwarted by (1) a lack of principled and uni ed methodologies to assess and exploit error-efficiency opportunities in a given system and (2) excessive programmer burden. This dissertation addresses these limitations by developing methodologies that enable systematic, principled and scalable application of error-efficiency with minimal programmer input. Starting from first principles, the first contribution of this work is the development of automated application-level error analysis tools and techniques that can automatically determine, with high speed and accuracy, the output that a given program will produce for each of the billions of errors that the program might encounter in its computation and data. Using automated error analysis, a comprehensive view of the application&#x27;s error characteristics, or in other words its error pro file, is derived without the need for programmer expertise. To demonstrate the versatility of this approach, the next contribution of this work is to show how the automatically generated application error profi les can be used to devise different (hardware- and software-based) error efficiency solutions -- from low-cost resiliency to approximate computing -- that can be customized to the application and/or user requirements and output quality targets. Finally, using the novel insight that analyzing a piece of software for (hardware) errors should be similar to testing it for software bugs, concepts from software testing are systematically adapted to significantly improve the speed and scalability of automated error analyses; while the improvements in speed and scalability make error analysis more practical within a computing stack, the methodology used lays the foundation for a principled integration of (hardware) error analysis into the software development work-flow. Overall, the contributions of this dissertation further the goal of enabling the adoption of error-efficiency as a first-class design principle by developing systematic methodologies that allow a principled, unified, and yet, customizable way of exploiting error-efficiency.","abstract_has_math":false,"creators":["Venkatagiri, Radha"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Adve, Sarita V","Marinov, Darko","Misailovic, Sasa","Fletcher, Christopher W","Brooks, David","Bose, Pradip"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2021,"date_issued":"2021-03-05T21:38:21Z","date_published":"2021-03-05T21:38:21Z","updated_at":"2026-07-22T22:24:50Z","subjects":["Error-Efficient Computing","Approximate Computing","Low-Cost Resiliency","Software Testing","Application-Level Error Analysis"],"languages":["en"],"rights":["Copyright 2020 Radha Venkatagiri"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/109436","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Adve, Sarita V","Marinov, Darko","Misailovic, Sasa","Fletcher, Christopher W","Brooks, David","Bose, Pradip"]},{"key":"dc:creator","label":"Author","values":["Venkatagiri, Radha"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2021-03-05T21:38:21Z","2020-12-03","2020-12"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"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":["Error-Efficient Computing","Approximate Computing","Low-Cost Resiliency","Software Testing","Application-Level Error Analysis"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2020 Radha Venkatagiri"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/109436"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["We live in a world where errors in computing are becoming ubiquitous and come from a wide variety of sources -- from unintentional bit flips in devices to deliberate approximations and malicious attacks. Future systems must be built to extract maximum computational efficiency while operating with heterogeneous sources of errors. The paradigm of Error-Efficient Computing offers a promising solution by designing efficient computing systems that conserve resources (e.g., time, energy, cost) by allowing the system to make controlled errors. Despite its promise, the widespread adoption of error-efficiency has been thwarted by (1) a lack of principled and uni ed methodologies to assess and exploit error-efficiency opportunities in a given system and (2) excessive programmer burden. This dissertation addresses these limitations by developing methodologies that enable systematic, principled and scalable application of error-efficiency with minimal programmer input. Starting from first principles, the first contribution of this work is the development of automated application-level error analysis tools and techniques that can automatically determine, with high speed and accuracy, the output that a given program will produce for each of the billions of errors that the program might encounter in its computation and data. Using automated error analysis, a comprehensive view of the application's error characteristics, or in other words its error pro file, is derived without the need for programmer expertise. To demonstrate the versatility of this approach, the next contribution of this work is to show how the automatically generated application error profi les can be used to devise different (hardware- and software-based) error efficiency solutions -- from low-cost resiliency to approximate computing -- that can be customized to the application and/or user requirements and output quality targets. Finally, using the novel insight that analyzing a piece of software for (hardware) errors should be similar to testing it for software bugs, concepts from software testing are systematically adapted to significantly improve the speed and scalability of automated error analyses; while the improvements in speed and scalability make error analysis more practical within a computing stack, the methodology used lays the foundation for a principled integration of (hardware) error analysis into the software development work-flow. Overall, the contributions of this dissertation further the goal of enabling the adoption of error-efficiency as a first-class design principle by developing systematic methodologies that allow a principled, unified, and yet, customizable way of exploiting error-efficiency.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2021-03-04 without embargo terms","The student, Radha Venkatagiri, accepted the attached license on 2020-12-03 at 12:19.","The student, Radha Venkatagiri, submitted this Dissertation for approval on 2020-12-03 at 13:36.","This Dissertation was approved for publication on 2020-12-03 at 16:26.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16059 on 2021-03-04 at 15:36:07","Made available in DSpace on 2021-03-05T21:38:21Z (GMT). No. of bitstreams: 3 VENKATAGIRI-DISSERTATION-2020.pdf: 5891704 bytes, checksum: 33f2e424fac45fcbe894cca65d54453b (MD5) LICENSE.txt: 4214 bytes, checksum: 1aa0f2a47941c0cf54064dad12963f35 (MD5) PROQUEST_LICENSE.txt: 4560 bytes, checksum: 216c0dec14f03529dff8b73bd4f9dc12 (MD5) Previous issue date: 2020-12-03"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Democratizing error-efficient computing"]}]}],"canonical_facts":{"dc:contributor":["Adve, Sarita V","Marinov, Darko","Misailovic, Sasa","Fletcher, Christopher W","Brooks, David","Bose, Pradip"],"dc:creator":["Venkatagiri, Radha"],"dc:date":["2021-03-05T21:38:21Z","2020-12-03","2020-12"],"dc:description":["We live in a world where errors in computing are becoming ubiquitous and come from a wide variety of sources -- from unintentional bit flips in devices to deliberate approximations and malicious attacks. Future systems must be built to extract maximum computational efficiency while operating with heterogeneous sources of errors. The paradigm of Error-Efficient Computing offers a promising solution by designing efficient computing systems that conserve resources (e.g., time, energy, cost) by allowing the system to make controlled errors. Despite its promise, the widespread adoption of error-efficiency has been thwarted by (1) a lack of principled and uni ed methodologies to assess and exploit error-efficiency opportunities in a given system and (2) excessive programmer burden. This dissertation addresses these limitations by developing methodologies that enable systematic, principled and scalable application of error-efficiency with minimal programmer input. Starting from first principles, the first contribution of this work is the development of automated application-level error analysis tools and techniques that can automatically determine, with high speed and accuracy, the output that a given program will produce for each of the billions of errors that the program might encounter in its computation and data. Using automated error analysis, a comprehensive view of the application's error characteristics, or in other words its error pro file, is derived without the need for programmer expertise. To demonstrate the versatility of this approach, the next contribution of this work is to show how the automatically generated application error profi les can be used to devise different (hardware- and software-based) error efficiency solutions -- from low-cost resiliency to approximate computing -- that can be customized to the application and/or user requirements and output quality targets. Finally, using the novel insight that analyzing a piece of software for (hardware) errors should be similar to testing it for software bugs, concepts from software testing are systematically adapted to significantly improve the speed and scalability of automated error analyses; while the improvements in speed and scalability make error analysis more practical within a computing stack, the methodology used lays the foundation for a principled integration of (hardware) error analysis into the software development work-flow. Overall, the contributions of this dissertation further the goal of enabling the adoption of error-efficiency as a first-class design principle by developing systematic methodologies that allow a principled, unified, and yet, customizable way of exploiting error-efficiency.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2021-03-04 without embargo terms","The student, Radha Venkatagiri, accepted the attached license on 2020-12-03 at 12:19.","The student, Radha Venkatagiri, submitted this Dissertation for approval on 2020-12-03 at 13:36.","This Dissertation was approved for publication on 2020-12-03 at 16:26.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16059 on 2021-03-04 at 15:36:07","Made available in DSpace on 2021-03-05T21:38:21Z (GMT). No. of bitstreams: 3 VENKATAGIRI-DISSERTATION-2020.pdf: 5891704 bytes, checksum: 33f2e424fac45fcbe894cca65d54453b (MD5) LICENSE.txt: 4214 bytes, checksum: 1aa0f2a47941c0cf54064dad12963f35 (MD5) PROQUEST_LICENSE.txt: 4560 bytes, checksum: 216c0dec14f03529dff8b73bd4f9dc12 (MD5) Previous issue date: 2020-12-03"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/109436"],"dc:language":["en"],"dc:rights":["Copyright 2020 Radha Venkatagiri"],"dc:subject":["Error-Efficient Computing","Approximate Computing","Low-Cost Resiliency","Software Testing","Application-Level Error Analysis"],"dc:title":["Democratizing error-efficient computing"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:50Z"}