Full Abstraction for Language Design (Short talk)
Full abstraction can be used to specify that a compilation process preserves equational reasoning on the source language – in other words, the semantics of the low-level target language does not leak into source programs.
Abstraction leaks are not only compiler and system security issues, but also usability issues. Multi-language programming systems are widely used, but often exhibit unfortunate, unplanned interactions. We use full abstraction for language design, to specify that the languages of a multi-language system interact gracefully – in a way that is also, in particular, amenable to secure compilation.
We demonstrate our approach by the case-study of a proposed multi-language design that combines a simple ML language with a linear language with linear mutable state. We prove that programmers knowing only the ML side of the story will not have bad surprises when interacting with other code that may, internally, use the linear language.
Sun 15 Jan
|10:30 - 10:40|
Cătălin HriţcuInria ParisLink to publication
|10:40 - 10:50|
David NaumannStevens Institute of TechnologyFile Attached
|10:50 - 11:00|
Gabriel SchererNortheastern UniversityFile Attached
|11:00 - 11:10|
Christine RizkallahUniversity of Pennsylvania, USAFile Attached
|11:15 - 12:00|