Thesis (Ph.D.)--University of Washington, 2019The scale and pervasiveness of modern software poses a challenge for programmers: software reliability is more important than ever, but the complexity of computer systems continues to grow. Automated programming tools are a powerful way for programmers to tackle this challenge: verifiers that check software correctness, and synthesizers that generate new correct-by-construction programs. These tools are most effective when they apply domain-specific optimizations, but doing so today requires considerable formal methods expertise. This dissertation shows that new abstractions and techniques can empower programmers to build specialized automated programming tools that ensure software reliability. ...
Artificial intelligence is becoming smarter everyday and is now starting to find its way into progr...
Thesis (Ph.D.)--University of Washington, 2021Seamless gains in performance from technology scaling ...
Software development is a messy process filled with an assortment of widely varying practices, proce...
Software bugs are expensive. Recent estimates by the US National Institute of Standards and Technolo...
The computer industry has thrived upon decades of exponential growth in hardware and software capabi...
Thesis (Ph.D.)--University of Washington, 2015Approximate computing is the idea that we are hinderin...
An exploratory study of the automatic generation and optimization of symbolic programs using DECOM -...
To cope with the increasing difference between processor and main memory speeds, modern computer sys...
As computer architectures become more complex, the task of writing efficient program to best utilize...
Successful software must evolve to remain relevant, but this process of evolution can cause the soft...
Due to the ubiquity of computing, programming has started to become an essential skill for an increa...
Computer hardware keeps increasing in complexity. Software design needs to keep up with this. The ri...
Abstract. Automatically evaluating source program files is a crucial part of programming contests. T...
To cope with the increasing difference between processor and main memory speeds, modern computer sys...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
Artificial intelligence is becoming smarter everyday and is now starting to find its way into progr...
Thesis (Ph.D.)--University of Washington, 2021Seamless gains in performance from technology scaling ...
Software development is a messy process filled with an assortment of widely varying practices, proce...
Software bugs are expensive. Recent estimates by the US National Institute of Standards and Technolo...
The computer industry has thrived upon decades of exponential growth in hardware and software capabi...
Thesis (Ph.D.)--University of Washington, 2015Approximate computing is the idea that we are hinderin...
An exploratory study of the automatic generation and optimization of symbolic programs using DECOM -...
To cope with the increasing difference between processor and main memory speeds, modern computer sys...
As computer architectures become more complex, the task of writing efficient program to best utilize...
Successful software must evolve to remain relevant, but this process of evolution can cause the soft...
Due to the ubiquity of computing, programming has started to become an essential skill for an increa...
Computer hardware keeps increasing in complexity. Software design needs to keep up with this. The ri...
Abstract. Automatically evaluating source program files is a crucial part of programming contests. T...
To cope with the increasing difference between processor and main memory speeds, modern computer sys...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
Artificial intelligence is becoming smarter everyday and is now starting to find its way into progr...
Thesis (Ph.D.)--University of Washington, 2021Seamless gains in performance from technology scaling ...
Software development is a messy process filled with an assortment of widely varying practices, proce...