NOVA LINCS researcher receives Distinguished Paper Award at ECOOP 2022
NOVA LINCS Software Systems researcher Bernardo Toninho with Ruo Fei Chen, Stephanie Balzer Carnegie Mellon received the Distinguished Paper Award at the (CORE Rank A) 36th European Conference on Object-Oriented Programming for their work "Ferrite: A Judgmental Embedding of Session Types in Rust”. Session types are a typing discipline for communication-centric applications that can provide correctness-by-construction guarantees, eliminating programming errors that can give rise to crashes and other software faults.
Session types are typically deployed in mainstream languages as libraries or embedded Domain Specific Languages (eDSLs), but often as a pragmatic compromise that foregoes many of the correctness properties of the underlying theory.
In this work, the authors propose Ferrite, an eDSL in the Rust programming language. Rust is a systems programming language that focuses on memory safety by construction, eliminating a major cause for vulnerabilities and bugs in system level software. Ferrite aims to improve the state of the art of development of communication-centric applications in Rust, leveraging Rust’s memory safety and combining it with uncompromised communication safety by construction, through a faithful yet idiomatic embedding of the session typing discipline.
Ferrite’s expressiveness and performance is benchmarked through an implementation of the canvas component of Mozilla's Servo browser engine.