Computer Science

Computer Science Seminar: Dr. Manu Sridharan

Computer Science Seminar: Dr. Manu Sridharan from Uber

Host: Prem Devanbu and Zhendong Su

When: Tuesday, February 28th at 3:10pm

Where: 1131 Kemper Hall

Title: Analysis Tools for Reliable Software Everywhere


Software is becoming ubiquitous in everyday life, from today’s
smartphones and servers to tomorrow’s self-driving cars, drones, and
Internet of Things devices.  However, the distributed, always-on
nature of this software poses significant new challenges for
reliability, security, and programmer productivity.  Better
programming tools are needed to enable next-generation applications to
achieve their full transformative potential.  I have helped design and
develop several such tools in my recent research based on novel
techniques in program analysis.
In this talk, I will discuss two recent projects focused on program
analysis for JavaScript, which poses unique challenges due to
JavaScript’s dynamic nature.  First, I will present dynamic
determinacy analysis, a technique that dramatically improves the
scalability and precision of JavaScript static analysis.  Determinacy
analysis collects sound, over-approximate information from dynamic
runs to aid in static analysis of complex reflective code.
Second, I will present EventRacer, the first tool for discovering and
debugging non-determinism errors in event-driven programs.
Event-driven programs often suffer from timing-based data races that
can be fiendishly difficult to reproduce and debug.  EventRacer adapts
the notion of a “happens-before relation” from concurrent and
distributed systems to give a clean definition of data races for
event-driven programs.  It also incorporates multiple novel techniques
to achieve scalability and usability for real-world applications.
EventRacer enabled discovery of many errors in deployed Fortune 100
web sites, and its techniques have since been applied in a variety of
other emerging domains.

Bio: Manu Sridharan is a senior software engineer at Uber, working on
static analysis and software quality.  He received his PhD from the
University of California, Berkeley in 2007.  He worked as a
research staff member at IBM Research from 2008-2013 and as a senior
researcher at Samsung Research America from 2013-2016.  His research
has drawn on, and contributed to, techniques in static analysis,
dynamic analysis, and program synthesis, with applications to
security, software quality, code refactoring, and software
performance.  His work has been incorporated into multiple commercial
products, including IBM’s commercial security analysis tool and
Samsung’s developer toolkit for the Tizen operating system.  For
further details, see

1131 Kemper Hall

Loading Map....