system during a single processor cycle. But we can abstract out properties of the sequences and focus on the properties of interest. The "specifications" given here are i...
Fixing concurrency bugs (or crugs) is critical in modern software systems. Static analyses to find crugs such as data races and atomicity violations scale poorly, while dynamic a...
Guoliang Jin, Aditya V. Thakur, Ben Liblit, Shan L...
A session takes place between two parties; after establishing a connection, each party interleaves local computations and communications (sending or receiving) with the other. Ses...
We introduce a technique for debugging multi-threaded C programs and analyzing the impact of source code changes, and its implementation in the prototype tool Direct. Our approach ...
Krishnendu Chatterjee, Luca de Alfaro, Vishwanath ...
Concurrency bugs are caused by non-deterministic interleavings between shared memory accesses. Their effects propagate through data and control dependences until they cause softwa...
Wei Zhang, Junghee Lim, Ramya Olichandran, Joel Sc...