{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/107994"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/107994","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Aligning intent and behavior in software systems: how programs communicate & their distribution and organization","abstract":"Managing the overwhelming complexity of software is a fundamental challenge because complexity is the root cause of problems regarding software performance, size, and security. Complexity is what makes software hard to understand, and our ability to understand software in whole or in part is essential to being able to address these problems effectively. Attacking this overwhelming complexity is the fundamental challenge I seek to address by simplifying how we write, organize, and think about programs. Within this dissertation I present a system of tools and a set of solutions for improving the nature of software by focusing on programmer’s desired outcome, i.e. their intent. At the program level, the conventional focus, it is impossible to identify complexity that, at the system level, is unnecessary. This “accidental complexity” includes everything from unused features to independent implementations of common algorithmic tasks. Software techniques driving innovation simultaneously increase the distance between what is intended by humans – developers, designers, and especially the users – and what the executing code does in practice. By preserving the declarative intent of the programmer, which is lost in the traditional process of compiling and linking and building software, it is easier to abstract away unnecessary details. The Slipstream, ALLVM, and software multiplexing methods presented here automatically reduce complexity of programs while retaining intended function of the program. This results in improved performance at both startup and run-time, as well as reduced disk and memory usage.","abstract_html":"Managing the overwhelming complexity of software is a fundamental challenge because complexity is the root cause of problems regarding software performance, size, and security. Complexity is what makes software hard to understand, and our ability to understand software in whole or in part is essential to being able to address these problems effectively. Attacking this overwhelming complexity is the fundamental challenge I seek to address by simplifying how we write, organize, and think about programs. Within this dissertation I present a system of tools and a set of solutions for improving the nature of software by focusing on programmer’s desired outcome, i.e. their intent. At the program level, the conventional focus, it is impossible to identify complexity that, at the system level, is unnecessary. This “accidental complexity” includes everything from unused features to independent implementations of common algorithmic tasks. Software techniques driving innovation simultaneously increase the distance between what is intended by humans – developers, designers, and especially the users – and what the executing code does in practice. By preserving the declarative intent of the programmer, which is lost in the traditional process of compiling and linking and building software, it is easier to abstract away unnecessary details. The Slipstream, ALLVM, and software multiplexing methods presented here automatically reduce complexity of programs while retaining intended function of the program. This results in improved performance at both startup and run-time, as well as reduced disk and memory usage.","abstract_has_math":false,"creators":["Dietz, William Barrett"],"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, Vikram S","Regehr, John D","Xie, Tao","Misailovic, Sasa"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2020,"date_issued":"2020-08-26T21:54:54Z","date_published":"2020-08-26T21:54:54Z","updated_at":"2026-07-22T22:24:47Z","subjects":["Compilers","Link-Time Optimization","Slipstream","Software Multiplexing","ALLVM","LLVM","LLVM IR","Nix"],"languages":["en"],"rights":["Copyright 2020 William B. Dietz"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/107994","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Adve, Vikram S","Regehr, John D","Xie, Tao","Misailovic, Sasa"]},{"key":"dc:creator","label":"Author","values":["Dietz, William Barrett"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2020-08-26T21:54:54Z","2020-05-05","2020-05"]},{"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":["Compilers","Link-Time Optimization","Slipstream","Software Multiplexing","ALLVM","LLVM","LLVM IR","Nix"]}]},{"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 William B. Dietz"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/107994"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Managing the overwhelming complexity of software is a fundamental challenge because complexity is the root cause of problems regarding software performance, size, and security. Complexity is what makes software hard to understand, and our ability to understand software in whole or in part is essential to being able to address these problems effectively. Attacking this overwhelming complexity is the fundamental challenge I seek to address by simplifying how we write, organize, and think about programs. Within this dissertation I present a system of tools and a set of solutions for improving the nature of software by focusing on programmer’s desired outcome, i.e. their intent. At the program level, the conventional focus, it is impossible to identify complexity that, at the system level, is unnecessary. This “accidental complexity” includes everything from unused features to independent implementations of common algorithmic tasks. Software techniques driving innovation simultaneously increase the distance between what is intended by humans – developers, designers, and especially the users – and what the executing code does in practice. By preserving the declarative intent of the programmer, which is lost in the traditional process of compiling and linking and building software, it is easier to abstract away unnecessary details. The Slipstream, ALLVM, and software multiplexing methods presented here automatically reduce complexity of programs while retaining intended function of the program. This results in improved performance at both startup and run-time, as well as reduced disk and memory usage.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2020-08-25 without embargo terms","The student, William Dietz, accepted the attached license on 2020-05-05 at 11:21.","The student, William Dietz, submitted this Dissertation for approval on 2020-05-05 at 12:21.","This Dissertation was approved for publication on 2020-05-05 at 14:44.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15215 on 2020-08-25 at 17:12:14","Made available in DSpace on 2020-08-26T21:54:54Z (GMT). No. of bitstreams: 3 DIETZ-DISSERTATION-2020.pdf: 9198571 bytes, checksum: 176130f5b92961409e37eda4a3df03fb (MD5) LICENSE.txt: 4210 bytes, checksum: 191a3aaf024a8c3143dda47db3e8e7ef (MD5) PROQUEST_LICENSE.txt: 4556 bytes, checksum: bdf93072eaf47c103448aaa26e49de26 (MD5) Previous issue date: 2020-05-05"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Aligning intent and behavior in software systems: how programs communicate & their distribution and organization"]}]}],"canonical_facts":{"dc:contributor":["Adve, Vikram S","Regehr, John D","Xie, Tao","Misailovic, Sasa"],"dc:creator":["Dietz, William Barrett"],"dc:date":["2020-08-26T21:54:54Z","2020-05-05","2020-05"],"dc:description":["Managing the overwhelming complexity of software is a fundamental challenge because complexity is the root cause of problems regarding software performance, size, and security. Complexity is what makes software hard to understand, and our ability to understand software in whole or in part is essential to being able to address these problems effectively. Attacking this overwhelming complexity is the fundamental challenge I seek to address by simplifying how we write, organize, and think about programs. Within this dissertation I present a system of tools and a set of solutions for improving the nature of software by focusing on programmer’s desired outcome, i.e. their intent. At the program level, the conventional focus, it is impossible to identify complexity that, at the system level, is unnecessary. This “accidental complexity” includes everything from unused features to independent implementations of common algorithmic tasks. Software techniques driving innovation simultaneously increase the distance between what is intended by humans – developers, designers, and especially the users – and what the executing code does in practice. By preserving the declarative intent of the programmer, which is lost in the traditional process of compiling and linking and building software, it is easier to abstract away unnecessary details. The Slipstream, ALLVM, and software multiplexing methods presented here automatically reduce complexity of programs while retaining intended function of the program. This results in improved performance at both startup and run-time, as well as reduced disk and memory usage.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2020-08-25 without embargo terms","The student, William Dietz, accepted the attached license on 2020-05-05 at 11:21.","The student, William Dietz, submitted this Dissertation for approval on 2020-05-05 at 12:21.","This Dissertation was approved for publication on 2020-05-05 at 14:44.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15215 on 2020-08-25 at 17:12:14","Made available in DSpace on 2020-08-26T21:54:54Z (GMT). No. of bitstreams: 3 DIETZ-DISSERTATION-2020.pdf: 9198571 bytes, checksum: 176130f5b92961409e37eda4a3df03fb (MD5) LICENSE.txt: 4210 bytes, checksum: 191a3aaf024a8c3143dda47db3e8e7ef (MD5) PROQUEST_LICENSE.txt: 4556 bytes, checksum: bdf93072eaf47c103448aaa26e49de26 (MD5) Previous issue date: 2020-05-05"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/107994"],"dc:language":["en"],"dc:rights":["Copyright 2020 William B. Dietz"],"dc:subject":["Compilers","Link-Time Optimization","Slipstream","Software Multiplexing","ALLVM","LLVM","LLVM IR","Nix"],"dc:title":["Aligning intent and behavior in software systems: how programs communicate & their distribution and organization"],"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:47Z"}