Concurrency is indispensable in modern software applications, but it can be extremely tricky to get right. Concurrency bugs, such as data races, occur in production despite rigorous development-time testing. Thus, techniques for detecting concurrency bugs have gained a lot of attention in the last three decades. However, existing techniques still suffer from significant problems: they do not scale, they report false alarms, or they miss many bugs. In this talk, I will discuss my work on fundamental algorithmic advances to solve these problems in the context of dynamic data race prediction, which infers data races from allowable reorderings of concurrent executions.
In the first part of my talk, I will describe a new partial order, Weak Causal Precedence (WCP), and a race prediction algorithm based on WCP that reports no false alarms, reports more races than existing techniques, and, most importantly, achieves the holy grail of dynamic race prediction---linear running time. In the second part of my talk, I will discuss data race detection from compressed execution traces. Extremely large traces from applications like web browsers and high runtime overhead of dynamic analyses warrants offline analysis of stored traces. However, large traces require expensive warehousing and companies commonly store these traces in compressed form. I will discuss the first algorithms that directly detect data races from compressed traces without first decompressing the traces. These algorithms exploit compositionality and run in time that is linear in the size of the compressed trace.
Umang Mathur is a PhD candidate in the CS Department of the University of Illinois at Urbana Champaign, where he is advised by Mahesh Viswanathan. His research interests are in Formal Methods and Logic with applications to Programming Languages and Software Engineering. During his PhD, he developed techniques for detecting concurrency bugs (including data races, deadlocks, atomicity violations), decidable program verification, program synthesis and analysis of stochastic and real-time cyber-physical systems. Umang is a recipient of the 2019 Google PhD Fellowship for Programming Technology and Software Engineering, C. W. Gear Outstanding Graduate Student Award, a Mavis Future Faculty Fellowship at Illinois, and an ACM Distinguished Paper Award at ESEC/FSE 2018. More information can be found on his website: http://umathur3.web.engr.illinois.edu/
Faculty Host: Darko Marinov