Bounded Abstract Effects

Darya Melicher, Anlun Xu, Valerie Zhao, Alex Potanin, Jonathan Aldrich

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)

Abstract

Effect systems have been a subject of active research for nearly four decades, with the most notable practical example being checked exceptions in programming languages such as Java. While many exception systems support abstraction, aggregation, and hierarchy (e.g., via class declaration and subclassing mechanisms), it is rare to see such expressive power in more generic effect systems. We designed an effect system around the idea of protecting system resources and incorporated our effect system into the Wyvern programming language. Similar to type members, a Wyvern object can have effect members that can abstract lower-level effects, allow for aggregation, and have both lower and upper bounds, providing for a granular effect hierarchy. We argue that Wyvern's effects capture the right balance of expressiveness and power from the programming language design perspective. We present a full formalization of our effect-system design, showing that it allows reasoning about authority and attenuation. Our approach is evaluated through a security-related case study.

Original languageEnglish
Article number5
Number of pages48
JournalACM Transactions on Programming Languages and Systems
Volume44
Issue number1
DOIs
Publication statusPublished - Mar 2022
Externally publishedYes

Fingerprint

Dive into the research topics of 'Bounded Abstract Effects'. Together they form a unique fingerprint.

Cite this