TL;DR
This paper introduces resource-aware session types to statically analyze and derive worst-case resource bounds for message-passing concurrent processes, combining session types with amortized analysis.
Contribution
It presents a novel type system that integrates resource analysis into session types, enabling compositional and symbolic resource bounds for concurrent message-passing programs.
Findings
Soundness proved with respect to operational cost semantics
Effective analysis demonstrated on standard examples
Performance comparison of concurrent implementations
Abstract
While there exist several successful techniques for supporting programmers in deriving static resource bounds for sequential code, analyzing the resource usage of message-passing concurrent processes poses additional challenges. To meet these challenges, this article presents an analysis for statically deriving worst-case bounds on the total work performed by message-passing processes. To decompose interacting processes into components that can be analyzed in isolation, the analysis is based on novel resource-aware session types, which describe protocols and resource contracts for inter-process communication. A key innovation is that both messages and processes carry potential to share and amortize cost while communicating. To symbolically express resource usage in a setting without static data structures and intrinsic sizes, resource contracts describe bounds that are functions of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
