Computer Science Seminar
Date: Tuesday, 10 October 2023
Time: 03:45 PM
Venue: Seminar Hall, CMI
Exposing Concurrency Bugs from their Hiding Places
Umang Mathur
National University of Singapore.
10-10-23
Abstract
Concurrent programs are notoriously hard to write correctly, as
scheduling nondeterminism introduces subtle errors that are both hard
to detect and to reproduce.
Despite rigorous testing, concurrency bugs such as races conditions
often find their way into production software, and manifest as
critical security issues. Consequently, considerable effort has been
made towards developing efficient techniques for detecting them
automatically.
The preferred approach to detect data races is through dynamic
analysis, where one executes the software with some test inputs, and
checks for the presence of bugs in the execution observed.
Traditional bug detectors however are often unable to discover simple
bugs present in the underlying software, even after executing the
program several times, because these bugs are sensitive to thread
scheduling.
In this talk, I will discuss how runtime predictive analysis can help.
Runtime predictive analyses aim to expose concurrency bugs, that can
be otherwise missed by traditional dynamic analysis techniques (such
as the race detector TSan), by inferring the presence of these bugs in
alternate executions of the underlying software, without explicitly
re-executing the software program.
I will talk about the fundamentals of and recent algorithmic advances
for building highly scalable and sound predictive analysis techniques.
Speaker Bio:
Umang Mathur is a Presidential Young Professor at the National
University of Singapore. He received his PhD from the University of
Illinois at Urbana Champaign and was an NTT Research Fellow at the
Simons Institute for the Theory of Computing at Berkeley. His research
broadly centers on developing techniques inspired from formal methods
and logic for answering design, analysis and implementation questions
in programming languages, software engineering and systems. He has
received a Google PhD Fellowship, an ACM SIGSOFT Distinguished Paper
Award at ESEC/FSE'18. Best Paper Award at ASPLOS'22 and an ACM SIGPLAN
Distinguished Paper Award at POPL'23 for his work on designing
techniques and tools for analyzing concurrent software.