LFCS Seminar: 10 November 2020 - Ankush Das

Title: Resource-Aware Session Types for Digital Contracts

Abstract: While there exist several successful techniques for supporting programmers in deriving static resource bounds for sequential code, analysing the resource usage of message-passing concurrent processes poses additional challenges. To meet these challenges, this talk presents an analysis for statically deriving worst-case bounds on the computational complexity of message-passing processes, respectively. The analysis is based on novel resource-aware session types that describe resource contracts by allowing both messages and processes to carry potential and amortize cost. The talk then applies session types to implement digital contracts. Digital contracts are protocols that describe and enforce execution of a contract, often among mutually distrusting parties.

Programming digital contracts comes with its unique challenges, which include describing and enforcing protocols of interaction, analyzing resource usage and tracking linear assets. The talk presents the type-theoretic foundations of Nomos, a programming language for digital contracts whose type system addresses the aforementioned domain-specific requirements. To express and enforce protocols, Nomos is based on shared binary session types rooted in linear logic. To control resource usage, Nomos uses resource-aware session types and automatic amortized resource analysis, a type-based technique for inferring resource bounds. To track assets, Nomos employs a linear type system that prevents assets from being duplicated or discarded. The talk concludes with future work directions on designing an efficient implementation for Nomos and making it robust to attacks from malicious entities.

Affiliation: Carnegie Mellon University

Bio: Ankush Das is a final year PhD student at Carnegie Mellon University. He is advised by Prof. Jan Hoffmann. He is broadly interested in programming languages with a specific focus on resource analysis, session types and language design for smart contracts on the blockchain. He is the lead designer and developer of Nomos,  a domain-specific language for implementing smart contracts based on resource-aware session types. In the past, he has worked jointly with Prof.Frank Pfenning and his advisor on designing resource-aware session types for parallel complexity analysis of concurrent programs implemented in a programming language called Rast. Before joining CMU, he worked as a Research Fellow at microsoft Research, India with Akash Lal where he 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. He completed his undergraduate at IIT Bombay, India  in 2014 where he worked with Prof.Supratik Chakraborty and Prof Akshay S on deciding termination of linear loop programs.

Prof. Jan Hoffmann


Prof. Frank Pfenning

Microsoft Research, India

Akash Lal

IIT Bombay, India 

Prof. Supratik Chakraborty

Prof. Akshay S

Nov 10 2020 -

LFCS Seminar: 10 November 2020 - Ankush Das

Speaker: Ankush Das

Blackboard Collaborate
Invitation only