At Uber, software reliability is of critical importance: outages can leave riders stranded, eaters starved and drivers without a way to earn a living. At the same time, Uber needs to be able to move fast in developing new features and products. Our belief is that program analysis can play a key role in reducing the tension between these seemingly-conflicting needs. In this talk, I will describe the philosophy of how analysis tools are deployed at Uber and how code is developed to be analyzable. I will present some initial experience reports from deployed analyses, plans for future analyses, and some open problems that may be interesting to the broader research community.
Murali Krishna Ramanathan is a member of the Programming Systems group at Uber Technologies, USA. He works on the design and implementation of program analysis tools directed towards improving the quality and performance of Uber applications. Previously, he was a member of the core analysis team at Coverity and built program analysis tools that are widely used in the software industry. He is a recipient of the Google faculty research award (2015) and ACM SIGSOFT Distinguished paper award (ISSTA 2016). He holds a PhD in Computer Science from Purdue University, USA.