Maple tool for testing concurrent programs. For details refer to our OOPSLA 2012 paper. The release also includes concurrency API for Intel's Pin dynamic instrumentation tool, a Pin based implementation of CHESS, and a happens-before data-race detector.
Click here to download SC-preserving version of the LLVM compiler. For details refer to our PLDI 2011 paper.
PinSEL
-- a record-and-replay tool.
It implements the
BugNet
checkpointing/logging scheme using the
Pin
dynamic instrumentation framework. PinSEL can record and replay any
multi-threaded program across different system environments. Currently, it
is used as a front-end for application level architectural simulators to avoid
emulating the system effects.
For more details refer to our
SIGMETRICS'06 paper.
Research
Interests:
I work at the intersection of computer architecture, software systems
and program analysis. My current interests include customized computing solutions for genomics, concurrency, security,
machine learning assisted program analysis, and tools for teaching at scale.
Secure Cloud. Efficient and Programmable Data Parallel Systems.
Optimistic Hybrid Program Analysis for Information Flow.
Accelerators for Event-Driven Web Applications.
Performance models for interactive applications.
BigCode. Tools for Event-Driven Mobile Systems
Multiprocessor Replay
Memory Consistency Models for Concurrent Languages
Architectures for interactive applications.
Testing and Tolerating Concurrency Bugs