Faculty Recruiting Support CICS

Targeted Client Synthesis for Detecting Concurrency Bugs

03 Dec
Tuesday, 12/03/2019 4:00pm to 5:00pm
Computer Science Building, Room 150/151
Rising Stars
Speaker: Malavika Samak


Detecting concurrency bugs can be challenging due to the intricacies associated with their manifestation. These intricacies correspond to identifying the methods that need to be invoked concurrently, the inputs passed to these methods and the interleaving of the threads that cause the erroneous behavior. Neither fuzzing-based testing techniques nor over-approximate static analyses are well positioned to detect subtle concurrency defects while retaining high accuracy alongside satisfactory coverage. While dynamic analysis techniques have been proposed to overcome some of the challenges in detecting concurrency bugs, we observe that their success is critically dependent on the availability of effective multithreaded clients. Without a prior knowledge of the defects, manually constructing defect-revealing multithreaded clients is non-trivial.

In this talk, I will present an approach to address the problem of automatically generating clients for detecting concurrency bugs in multithreaded libraries. The key insight underlying our design is that a subset of the properties observed when the defects manifest in a concurrent execution can also be observed in a sequential execution. The input to our approach is a library implementation and a sequential test suite, and the output is a set of multithreaded clients that can be used to reveal defects in the input library implementation. Dynamic defect detectors can execute the clients and analyze the resulting traces to report various kinds of defects including deadlocks, data races and atomicity violations. Furthermore, the clients can also be used by testing frameworks to report assertion violations.


Malavika Samak is a Postdoctoral Associate working with Prof. Martin Rinard at CSAIL, MIT. She received her PhD from the Department of Computer Science and Automation, IISc, Bangalore and was supported by a Google India PhD fellowship. As part of her doctoral dissertation, she designed techniques for efficient client synthesis for detecting concurrency bugs in multithreaded libraries. Her research interests are in programming languages and software engineering.

A reception for attendees will be held at 3:30 p.m. in CS 150

Faculty Host