Monadic Second-Order Logic on Finite Sequences
Dijkstra monads for free
44th ACM SIGPLAN Symposium on Principles of Programming Languages
The 44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2017) is a forum for the discussion of all aspects of programming languages and programming systems. Both theoretical and experimental papers are welcome, on…
Reducing Faulty Executions of Distributed Systems, MSR Redmond Job Talk
When a bug is found in a long-running distributed system, developers typically start by identifying (i) which events in the execution caused their system to arrive at the unsafe state, and (ii) which events are…
PerfOrator
This project is focused on optimizing the resource usage of bigData jobs. Standard database query optimization focuses on finding the best query execution plan, given fixed hardware resources. In BigData settings, both pay-as-you-go clouds and on-prem shared clusters,…
WEye Program
The goal of the WEye program is to improve communication between pair programmers using shared gaze awareness.
Higher Fidelity Systems for End-User Information Management
My group develops systems to help people manage information and share it with others. We consider both text (online discussion tools) and structured data (information visualization and management applications). A guiding principle is that humans…
Pex – Automated Whitebox Testing for .NET (32 bit)
Pex (Program EXploration) is a white-box test generation tool. Given a hand-written parameterized unit test, Pex analyzes the code to determine relevant test inputs fully automatically. The result is a traditional unit test suite with…
mcBV
A satisfiability solver for (existential) bit-vector formulas based on the mcSAT framework.