Project
DoWhy: Causal Reasoning for Designing and Evaluating Interventions
Today’s computing systems can be thought of as interventions in people’s work and daily lives. But what are the outcomes of these interventions, and how can we tune these systems for desired outcomes? In this…
Publication
DNA Assembly for Nanopore Data Storage Readout
Video
Argosy: Verifying Layered Storage Systems With Recovery Refinement
Storage systems make persistence guarantees even if the system crashes at any time, which they achieve using recovery procedures that run after a crash. Realistic storage systems are built using layered abstractions, built on top…
Publication
Socrates: The New SQL Server in the Cloud
Video
Higher Fidelity Systems for Online Discussion
My group develops systems to help people manage information and share it with others. We study both text (online discussion tools) and structured data (information visualization and management applications). Our guiding principle is that humans…