Ankush Das

Google Scholar
ankushd [AT] bu [DOT] edu
Github
Bitbucket
ResearchGate
CDS 1024
665 Commonwealth Ave, Boston, MA 02215

I am a tenure-track assistant professor in the Computer Science Department at Boston University and I am looking for motivated PhD students. My research interests are broadly in the area of programming languages, with applications in cryptographic protocols, distributed systems, and recently in probabilistic and machine learning models.

Interested in working with me? Please reach out to me directly and/or apply to the CS PhD program at Boston University.

Until Dec 2023, I worked as an applied scientist at Amazon working in the Automated Reasoning Group. At Amazon, I worked on testing and verification of distributed protocols and proving security and privacy of distributed systems.

I graduated with a PhD from Carnegie Mellon University in 2021 where I was advised by Prof. Jan Hoffmann and closely worked with Prof. Frank Pfenning. I am broadly interested in programming languages with a specific focus on resource analysis, session types, distributed protocols, and language design for smart contracts on the blockchain.

I am the lead designer and developer of Nomos, a domain-specific language for implementing smart contracts. This language provides 4 key features, i) a session type based mechanism for expressing the contract protocol, ii) a resource type system for expressing and automatically verifying the gas bound of a transaction, iii) a linear type system to handle assets, and iv) a design guarantee of no re-entrancy attacks.

I have also designed Rast along with Prof. Frank Pfenning, a language implementing resource-aware session types with arithmetic refinements. This implementation complements my work on designing temporal and ergometric session types for parallel and sequential complexity analysis of concurrent session-typed programs.

Before joining CMU, I worked as a Research Fellow at Microsoft Research, India with Akash Lal where I developed an efficient method to perform precise alias analysis for C and C++ programs for Windows driver modules to automatically infer safe null pointer dereferences.

I completed my undergraduate at IIT Bombay, India in 2015 where I worked with Prof. Supratik Chakraborty and Prof. Akshay S on deciding termination of linear loop programs.

Latest News

Apr 2025 Our submission Probabilistic Refinement Session Types has been accepted to PLDI 2025. Super excited about my first publication as an advisor! Also my first paper at PLDI!
Jun 2024 Excited to host Oregon Programming Language Summer School (OPLSS) at Boston University!
Jan 2024 Our paper Parametric Subtyping for Structural Parametric Polymorphism has been recognized with a distinguished paper award at POPL 2024!
Jan 2024 Big update! I have joined Boston University as an assistant professor.
Nov 2023 Our submission Parametric Subtyping for Structural Parametric Polymorphism has been accepted to POPL 2024.

Publications

23. Probabilistic Refinement Session Types
PLDI 2025

Qiancheng Fu, Ankush Das, and Marco Gaboardi.
In Proceedings of the 46th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2025).

22. Parametric Subtyping for Structural Parametric Polymorphism
POPL 2024

Henry DeYoung, Andreia Mordido, Frank Pfenning, and Ankush Das.
In Proceedings of the 51st ACM SIGPLAN Symposium on Principles of Programming Languages.
Distinguished paper award

21. Automated Analyses of IOT Event Monitoring Systems
CAV 2023 (Industrial Experience Report)

Andrew Apicelli, Sam Bayless, Ankush Das, Andrew Gacek, Dhiva Jaganathan, Saswat Padhi, Vaibhav Sharma, Michael W. Whalen, and Raveesh Yadav.
In Proceedings of the 35th International Conference on Computer Aided Verification.

20. Probabilistic Resource-Aware Session Types
POPL 2023

Ankush Das, Di Wang and Jan Hoffmann.
In Proceedings of the 50th ACM SIGPLAN Symposium on Principles of Programming Languages.

19. Rast: A Language for Resource-Aware Session Types
LMCS 2022

Ankush Das and Frank Pfenning.
Logical Methods in Computer Science, Volume 18, Issue 1.

18. Nested Session Types
TOPLAS 2022

Ankush Das, Henry DeYoung, Andreia Mordido, and Frank Pfenning.
ACM Transactions on Programming Languages and Systems, Volume 44, Issue 3.

17. Polarized Subtyping
ESOP 2022

Zeeshan Lakhani, Ankush Das, Henry DeYoung, Andreia Mordido, Frank Pfenning.
In Proceedings of the 31st European Symposium on Programming.

16. Nested Session Types
ESOP 2021

Ankush Das, Henry DeYoung, Andreia Mordido and Frank Pfenning.
In Proceedings of the 30th European Symposium on Programming.

15. Resource-Aware Session Types for Digital Contracts
CSF 2021

Ankush Das, Stephanie Balzer, Jan Hoffmann, Frank Pfenning and Ishani Santurkar.
In Proceedings of the 34th IEEE Computer Security Foundations Symposium.

14. Exact and Linear-Time Gas-Cost Analysis
SAS 2020

Ankush Das and Shaz Qadeer.
In Proceedings of the 27th International Static Analysis Symposium.

13. Verified Linear Session-Typed Concurrent Programming
PPDP 2020

Ankush Das and Frank Pfenning.
In Proceedings of the 22nd International Symposium on Principles and Practice of Declarative Programming.

12. Session Types with Arithmetic Refinements
CONCUR 2020

Ankush Das and Frank Pfenning.
In Proceedings of the 31st International Conference on Concurrency Theory.

11. Rast: Resource-Aware Session Types with Arithmetic Refinements
FSCD 2020

Ankush Das and Frank Pfenning.
In Proceedings of the 5th International Conference on Formal Structures for Computation and Deduction.
Best system decription paper award by a junior researcher

10. Session Types with Arithmetic Refinements and Their Application to Work Analysis
arXiv Preprint: 2001.04439 [cs.PL]

Ankush Das and Frank Pfenning.

9. Parallel Complexity Analysis with Temporal Session Types
ICFP 2018

Ankush Das, Jan Hoffmann and Frank Pfenning.
In 23rd International Conference on Functional Programming.

8. Work Analysis with Resource-Aware Session Types
LICS 2018

Ankush Das, Jan Hoffmann and Frank Pfenning.
In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science.

7. On Petri Nets with Hierarchical Special Arcs
CONCUR 2017

S. Akshay, Supratik Chakraborty, Ankush Das, Vishal Jagannath and Sai Sandeep.
In Proceedings of the 28th International Conference on Concurrency Theory.

6. Precise Null Pointer Analysis Through Global Value Numbering
ATVA 2017

Ankush Das and Akash Lal.
In Proceedings of the 15th International Symposium on Automated Technology for Verification and Analysis.

5. ML for ML: Learning Cost Semantics by Experiment
TACAS 2017

Ankush Das and Jan Hoffmann.
In Proceedings of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems.

4. Towards Automatic Resource Bound Analysis for OCaml
POPL 2017

Jan Hoffmann, Ankush Das and Shu-Chun Weng.
In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages.

3. Learning Cost Semantics for Modeling Running Time of OCaml Programs
LOLA 2016

Ankush Das and Jan Hoffmann.
Workshop on Syntax and Semantics of Low-Level Languages

2. Angelic Verification: Precise Verification Modulo Unknowns
CAV 2015

Ankush Das, Shuvendu K. Lahiri, Akash Lal, Yi Li.
In Proceedings of the 27th International Conference on Computer Aided Verification.

1. On Pure Nash Equilibria in Stochastic Games
TAMC 2015

Ankush Das, Shankara Narayanan Krishna, Lakshmi Manasa, Ashutosh Trivedi, Dominik Wojtczak.
In Proceedings of the 12th Annual Conference on Theory and Applications of Models of Computation.

Students

Advised Students


Anthony DeRossi
1st year
PhD student
Toby Ueno
Undergraduate student
Brendan Coyne
Undergraduate student

Collaborators and Mentored Students

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

Qiancheng Fu
Final year
PhD student
june wunder
4th year
PhD student
Sam Buxbaum
2nd year
PhD student
Sakshi Sharma
1st year
PhD student

Teaching

Instructor

Programming Language Foundations for Concurrency

CS 599 A1, Boston University, Spring 2025.

Concepts of Programming Languages

CS 320, Boston University, Fall 2024.

Programming Language Foundations for Concurrency

CS 599 D1, Boston University, Spring 2024.

Teaching Assistant

Constructive Logic

CS 15-317, Carnegie Mellon University, Fall 2018.
Instructor: Karl Crary

Types and Programming Languages

CS 15-814, Carnegie Mellon University, Fall 2016.
Instructor: Karl Crary