Capabilities: Effects for Free

Date

Authors

Craig, Aaron
Potanin, Alex
Groves, Lindsay
Aldrich, Jonathan

Journal Title

Journal ISSN

Volume Title

Publisher

Springer

Access Statement

Research Projects

Organizational Units

Journal Issue

Abstract

Object capabilities are increasingly used to reason informally about the properties of secure systems. But can capabilities also aid in formal reasoning? To answer this question, we examine a calculus that uses effects to capture resource use and extend it to support capability-based reasoning. We demonstrate that capabilities provide a way to reason about effects: we can bound the effects of an expression based on the capabilities to which it has access. This reasoning is “free” in that it relies only on type-checking (not effect-checking), does not require the programmer to add effect annotations within the expression, and does not require the expression to be analysed for its effects. Our result sheds light on the essence of what capabilities provide and suggests ways of integrating lightweight capability-based reasoning into languages.

Description

Keywords

Citation

Source

Book Title

Formal Methods and Software Engineering - 20th International Conference on Formal Engineering Methods, ICFEM 2018, Proceedings

Entity type

Publication

Access Statement

License Rights

Restricted until