ECOOP 2026
Mon 29 June - Fri 3 July 2026 Brussels, Belgium
Tue 30 Jun 2026 11:30 - 12:00 at I.1.08 - Papers 1

Real-world applications abound of examples in which it is essential to analyze whether data is being used for the purpose they have been intended. Literature offers limited results insofar compile-time guarantees is concerned in this domain.

We propose an approach based on typestate in which the state of the type of sensitive data is the set of purposes for which the data can be used. This set can grow and shrink at runtime, as purposes can be added or removed during an execution.

In this paper, we have developed PurPL, an object-oriented programming language that features a typestate system that is capable of reasoning about purposes and data usage compliance according to them.

We give an overview of PurPL through examples and present a formal type system. We have also implemented PurPL’s type checker, and we report on our experiments with type checking various programming scenarios that handle sensitive data.

Tue 30 Jun

Displayed time zone: Brussels, Copenhagen, Madrid, Paris change

11:00 - 12:30
Papers 1FTfJP at I.1.08
11:00
30m
Talk
A monadic interpreter and type-and-effect checker
FTfJP
Stefano Raviola Universita' del Piemonte Orientale, Paola Giannini University of Eastern Piedmont, Francesco Dagnino University of Genoa
11:30
30m
Talk
A Typestate Approach to Purpose-aware Programming
FTfJP
Joan Montas University of Massachusetts, Lowell, Samuel Dodson University of Massachusetts, Lowell, Anitha Gollamudi University of Massachusetts Lowell, Matteo Cimini University of Massachusetts Lowell
Pre-print
12:00
30m
Talk
Formal Semantics and Type System for Vega Data Transformations
FTfJP
Kristýna Petrlíková Charles University, Tomas Petricek Charles University
Pre-print