My research mainly focuses on building reliable concurrent software and systems,
including dynamic/static analysis and tool support, and studying simple, clean,
and easy-to-understand concurrency semantics for programming languages. More
specifically, I am actively involved in implementation, verification and testing
of concurrent data structures under relaxed memory models. I also have a general
interest in static and dynamic analysis for building useful compilers or related
tools, and in the design and implementation of robust and highly-scalable
distributed systems.