Files in this item

FilesDescriptionFormat

application/pdf

application/pdfDIETZ-DISSERTATION-2020.pdf (9MB)
(no description provided)PDF

Description

Title:Aligning intent and behavior in software systems: how programs communicate & their distribution and organization
Author(s):Dietz, William Barrett
Director of Research:Adve, Vikram S
Doctoral Committee Chair(s):Adve, Vikram S
Doctoral Committee Member(s):Regehr, John D; Xie, Tao; Misailovic, Sasa
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Degree:Ph.D.
Genre:Dissertation
Subject(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.
Issue Date:2020-05-05
Type:Thesis
URI:http://hdl.handle.net/2142/107994
Rights Information:Copyright 2020 William B. Dietz
Date Available in IDEALS:2020-08-26
Date Deposited:2020-05


This item appears in the following Collection(s)

Item Statistics