Computer Science Building
140 Governors Drive
Amherst, MA 01003
I am interested in improving the reliability and performance of existing software concurrent programs, and in improving the quality of performance evaluation and understanding.
Stabilizer: Statistically Rigorous Performance Evaluation
Stablizer is a compiler pass and runtime system that eliminates measurement bias, enabling rigorous performance evaluation using standard statistical techniques. Stabilizer uses LLVM to enable dynamic random placement of code, stack, heap, and globals for C and C++ applications.
AutoMan: A Platform for Integrating Human-Based and Digital Computation
AutoMan is a platform for integrating human-based and digital computation. It allows programmers to "program with people," which appear to the programmer to be ordinary function calls. AutoMan automatically handles details like quality control, payment, and task scheduling. It is currently implemented as a domain-specific language embedded in Scala, and uses Amazon's Mechanical Turk as a backend. AutoMan was presented by Dan Barowy at OOSLA in October 2012.
DThreads: Efficient and Deterministic Multithreading
I worked with Tongping Liu on Dthreads, a drop-in replacement for pthreads that guarantees determininstic execution of parallel programs. Dthreads was presented at SOSP in October 2011.