A Typestate Approach to Purpose-aware Programming
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 JunDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
11:00 - 12:30 | |||
11:00 30mTalk | 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 30mTalk | 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 30mTalk | Formal Semantics and Type System for Vega Data Transformations FTfJP Pre-print | ||