Ankush Das

Assistant Professor, Department of Computer Science, Boston University
Part-Time Visiting Faculty, NVIDIA

I am recruiting PhD students. My research is in programming languages, with applications to cryptographic protocols, distributed systems, and probabilistic and machine learning models.

Prospective students are encouraged to contact me directly and to apply to the Boston University CS PhD program. Application deadline: December 1, 2026.

My research primarily focuses on programming language foundations with applications to concurrent and distributed systems. More recently, my interests include language design, type systems, cost analysis, and verification for concurrent programs.

I am the lead designer and developer of Nomos, a domain-specific language for smart contracts, and co-designed Rast, a language for resource-aware session types with arithmetic refinements, with Prof. Frank Pfenning.

Before joining Boston University, I was an Applied Scientist at Amazon and previously a Research Fellow at Microsoft Research India. I received my PhD from Carnegie Mellon University in 2021, advised by Prof. Jan Hoffmann, and my undergraduate degree from IIT Bombay in 2015.

Latest News

  • Our paper Fractional Permission Session Types has been accepted to POPL 2027!
  • Excited to share two workshop papers at PLDI 2026: Testing LLM-Generated Distributed Protocol Code (with Brendan Coyne) at PAgE, and Parametric Choreographies for Distributed Programming (with John Liagouris) at CP.
  • I will be attending PLDI 2026 in Boulder, CO! Looking forward to seeing you all there!

Publications

2027

27

Fractional Permission Session Types

Selene Wu and Ankush Das.

POPL 202754th ACM SIGPLAN Symposium on Principles of Programming Languages.

2026

24

Practical Refinement Session Type Inference

Toby Ueno and Ankush Das.

ESOP 202635th European Symposium on Programming.

2025

23

Probabilistic Refinement Session Types

Qiancheng Fu, Ankush Das, and Marco Gaboardi.

PLDI 202546th ACM SIGPLAN Conference on Programming Language Design and Implementation.

2024

22

Parametric Subtyping for Structural Parametric Polymorphism

Henry DeYoung, Andreia Mordido, Frank Pfenning, and Ankush Das.

POPL 202451st ACM SIGPLAN Symposium on Principles of Programming Languages.
Distinguished paper award

2023

21

Automated Analyses of IOT Event Monitoring Systems

Andrew Apicelli, Sam Bayless, Ankush Das, Andrew Gacek, Dhiva Jaganathan, Saswat Padhi, Vaibhav Sharma, Michael W. Whalen, and Raveesh Yadav.

CAV 2023 (Industrial Experience Report)35th International Conference on Computer Aided Verification.

20

Probabilistic Resource-Aware Session Types

Ankush Das, Di Wang and Jan Hoffmann.

POPL 202350th ACM SIGPLAN Symposium on Principles of Programming Languages.

2022

18

Nested Session Types

Ankush Das, Henry DeYoung, Andreia Mordido, and Frank Pfenning.

TOPLAS 2022ACM Transactions on Programming Languages and Systems, Volume 44, Issue 3.

17

Polarized Subtyping

Zeeshan Lakhani, Ankush Das, Henry DeYoung, Andreia Mordido, Frank Pfenning.

ESOP 202231st European Symposium on Programming.

2021

2020

14

Exact and Linear-Time Gas-Cost Analysis

Ankush Das and Shaz Qadeer.

SAS 202027th International Static Analysis Symposium.

2018

2017

2016

2015

Current Students

Advised Students

Photo of Anthony DeRossiAnthony DeRossiPhD student

Collaborators and Mentored Students

At Boston University, I’ve had the privilege to work with and mentor a number of fantastic students.

Photo of june wunderjune wunderPhD student
Photo of Sam BuxbaumSam BuxbaumPhD student
Photo of Sakshi SharmaSakshi SharmaPhD student
Photo of Jared PincusJared PincusPhD student

Former Students

  • Toby Ueno (undergraduate student, now PhD student at University of Edinburgh)
  • Brendan Coyne (undergraduate student)
  • Selene Wu (undergraduate student, now PhD student at New York University)
  • Qiancheng Fu (PhD student, now postdoc at Cornell University)

Teaching

CS 599: Programming Language Foundations for Concurrency

CS 320: Concepts of Programming Languages

CS 599: Logic and Programming Languages