Withdraw
Loading…
Aligning intent and behavior in software systems: how programs communicate & their distribution and organization
Dietz, William Barrett
Loading…
Permalink
https://hdl.handle.net/2142/107994
Description
- Title
- Aligning intent and behavior in software systems: how programs communicate & their distribution and organization
- Author(s)
- Dietz, William Barrett
- Issue Date
- 2020-05-05
- Director of Research (if dissertation) or Advisor (if thesis)
- Adve, Vikram S
- Doctoral Committee Chair(s)
- Adve, Vikram S
- Committee Member(s)
- Regehr, John D
- Xie, Tao
- Misailovic, Sasa
- Department of Study
- Computer Science
- Discipline
- Computer Science
- Degree Granting Institution
- University of Illinois at Urbana-Champaign
- Degree Name
- Ph.D.
- Degree Level
- Dissertation
- Keyword(s)
- Compilers
- Link-Time Optimization
- Slipstream
- Software Multiplexing
- ALLVM
- LLVM
- LLVM IR
- Nix
- 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.
- Graduation Semester
- 2020-05
- Type of Resource
- Thesis
- Permalink
- http://hdl.handle.net/2142/107994
- Copyright and License Information
- Copyright 2020 William B. Dietz
Owning Collections
Graduate Dissertations and Theses at Illinois PRIMARY
Graduate Theses and Dissertations at IllinoisDissertations and Theses - Computer Science
Dissertations and Theses from the Dept. of Computer ScienceManage Files
Loading…
Edit Collection Membership
Loading…
Edit Metadata
Loading…
Edit Properties
Loading…
Embargoes
Loading…