Ankush Desai

Senior Applied Scientist, Amazon Web Services

About Me

I am a Senior Applied Scientist in the Database Services (DBS) group at AWS. I am currently working on applying formal method techniques to reason about the correctness of distributed services across AWS (S3, DBS, EBS, ..). These techniques range from lightweight automated approaches like model checking, to systematic testing, to more rigorous deductive verification that provide mathematical proofs. My goal is to integrate the principles of formal methods in all the phases of development process from system design, to implementation, to unit and integration testing, and even in production. Helping service teams across AWS to deliver services with higher assurance of correctness.

Before joining the DBS group, I was part of the S3 team and worked on the Amazon S3's Strong Consistency project (Pi-Week Talk). I am one of the creators and the lead developer of the P programming framework.

I graduated with a PhD in computer science from UC, Berkeley (2019). I was extremely fortunate to be co-advised by Prof. Sanjit Seshia and Dr. Shaz Qadeer. Before joining graduate school, I had the privilege of spending 2+ years working at Microsoft Research, India with Sriram Rajamani. During my time at IIT, Kanpur, I extremely was lucky to be a part of the team that built the first Indian Nano-Satellite JUGNU and had lots of (fun -- Pictures). The satellite was successfully launched on 12 October, 2011 . I was head of the On-Board Computers team managing all the software framework for the satellite.

Research Summary

My research focuses on combining techniques from programming languages, formal methods, and software engineering for building reliable systems. I have designed tools and methodologies for building reliable systems across domains like device drivers, fault-tolerant distributed systems, robotics and cyber-physical systems.

Publications (Google Scholar)

PSec: Programming Secure Distributed Systems using Enclaves

Shivendra Kushwah, Ankush Desai, Pramod Subramanyan, and Sanjit Seshia
Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security (AsiaCCS) - 2021

SOTER: A Runtime Assurance Framework for Programming Safe Robotics Systems

Ankush Desai, Shromona Ghosh, Sanjit A. Seshia, Natarajan Shankar, Ashish Tiwari
IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) - 2019

Compositional Programming and Testing of Dynamic Distributed Systems

Ankush Desai, Amar Phanishayee, Shaz Qadeer and Sanjit Seshia
International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) - 2018

Programming Safe Robotics Systems: Challenges and Advances

Ankush Desai, Shaz Qadeer and Sanjit Seshia
International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (ISoLA) - 2018
(invited to the track - A Broader View on Verification: From Static to Runtime and Back)

DRONA: A Framework for Safe Distributed Mobile Robotics

Ankush Desai, Indranil Saha, Jianqiao Yang, Shaz Qadeer and Sanjit Seshia
International Conference on Cyber-Physical Systems (ICCPS) - 2017

Combining Model Checking and Runtime Verification for Safe Robotics

Ankush Desai, Tommaso Dreossi and Sanjit Seshia
The 17th International Conference on Runtime Verification (RV) - 2017

Lasso detection using Partial State Caching

Rashmi Mudduluru, Pantazis Deligiannis, Ankush Desai, Akash Lal and Shaz Qadeer
Formal Methods in Computer-Aided Design (FMCAD) - 2017

Systematic Testing of Asynchronous Reactive Systems

Ankush Desai, Shaz Qadeer and Sanjit Seshia
ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE) - 2015

Approximate Synchrony: An Abstraction for Distributed Almost-synchronous Systems

Ankush Desai, Sanjit Seshia, Shaz Qadeer, David Broman, and John Eidson
International Conference on Computer Aided Verification (CAV) - 2015

Natural proofs for Asynchronous Programs using Almost-synchronous Invariants

Ankush Desai, Pranav Garg, and P. Madhusudan
International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) - 2014

Endlessly Circulating Messages in IEEE 1588-2008 Systems

David Broman, P Derler, Ankush Desai, John Eidson, and Sanjit Seshia
International Symposium on Precision Clock Synchronization for Measurement, Control and Communication (ISPCS) - 2014

P: safe asynchronous event-driven programming

Ankush Desai, Vivek Gupta, Ethan Jackson, Shaz Qadeer, Sriram Rajamani, Damien Zufferey
SIGPLAN conference on Programming Language Design and Implementation (PLDI) - 2013

Depth bounded explicit-state model checking

Abhishek Udupa, Ankush Desai and Sriram Rajamani
International SPIN Symposium on Model Checking of Software (SPIN) - 2011

Tutorials

P: Modular and Safe Asynchronous Programming

Ankush Desai and Shaz Qadeer
The 17th International Conference on Runtime Verification (RV) - 2017 [RV Tutorial]

Workshop papers and Tech. Reports

Formal Specification for Deep Neural Networks

S. A. Seshia, A. Desai, T. Dreossi, D. J. Fremont, S. Ghosh, E. Kim, S. Shivakumar, M. Vazquez- Chanlatte, X. Yue
Technical Report UCB/EECS- 2018-25, EECS Department, University of California, Berkeley - 2018

Iterative Cycle Detection via Delaying Explorers

Ankush Desai, Shaz Qadeer, Sriram Rajamani, and Sanjit Seshia
Microsoft Research Technical Report (MSR-TR-2015-28) - 2015

A New Reduction for Event-Driven Distributed Programs

Ankush Desai, Pranav Garg, and P. Madhusudan
International Workshop on Exploiting Concurrency Efficiently and Correctly (EC2) - 2014

Critical path based performance models for distributed queries

Ankush Desai, Kaushik Rajan, and Kapil Vaswani
Microsoft Research Technical Report (MSR-TR-2012-121) - 2012

Thesis

Modular and Safe Event-Driven Programming

Thesis Advisors: Prof. Sanjit Seshia and Dr. Shaz Qadeer
PhD Thesis, EECS, UC Berkeley, 2019

Design of On Board Computers for a Nanosatellite

Thesis Advisor: Prof. Arnab Bhattacharya
Masters Thesis, IIT, Kanpur