Concurrency bugs are caused by non-deterministic interleavings between shared memory accesses. Their effects propagate through data and control dependences until they cause software to crash, hang, produce incorrect output, etc. The lifecycle of a bug thus consists of three phases: (1) triggering, (2) propagation, and (3) failure. Traditional techniques… (More)
Research Interests I am interested in big data, parallel programming, and concurrent software reliability. Developed software solution for newspaper and magazine workow. Focus on applying the X10 language to scale-out computing and big data analysis. Focused on multi-variable atomicity violation concurrency bug detection.