How to find Concurrency Bugs


Jens Palsberg (UCLA)
Thursday, October 1, 2015
4:00 PM – 5:15 PM
Shanahan Auditorium

Concurrent programming with shared memory can lead to a variety of concurrency bugs such as deadlocks and data races. How can we find such bugs? I will survey the vast literature on solutions to this problem, and then I will present a new approach that does even better. Our approach combines concolic execution and constraint solving into a new technique that drives an execution towards a concurrency bug candidate. In 4.5 million lines of Java, our tool found substantially more real concurrency bugs than many previous techniques combined. Joint work with Mahdi Eslamimehr; presented at PPOPP 2014 and FSE 2014.

Bio: Jens Palsberg is a Professor of Computer Science at University of California, Los Angeles (UCLA). His research interests span the areas of compilers, embedded systems, programming languages, software engineering, and information security. He is the editor-in-chief of ACM Transactions of Programming Languages and Systems, and a former conference program chair of ACM Symposium on Principles of Programming Languages (POPL). In 2012 he received the ACM SIGPLAN Distinguished Service Award.