Skip to Main content Skip to Navigation
Conference papers

Fully Abstract Compilation to JavaScript

Abstract : Many tools allow programmers to develop applications in high-level languages and deploy them in web browsers via compilation to JS. While practical and widely used, these compilers are ad hoc: no guarantee is provided on their correctness for whole programs, nor their security for programs executed within arbitrary JS contexts. This paper presents a compiler with such guarantees. We compile an ML-like language with higher-order functions and references to JS, while preserving all source program properties. Relying on type-based invariants and applicative bisimilarity, we show full abstraction: two programs are equivalent in all source contexts if and only if their wrapped translations are equivalent in all JS contexts. We evaluate our compiler on sample programs, including a series of secure libraries.
Complete list of metadata

Cited literature [23 references]  Display  Hide  Download
Contributor : Pierre-Yves Strub Connect in order to contact the contributor
Submitted on : Thursday, January 24, 2013 - 6:50:09 PM
Last modification on : Thursday, February 5, 2015 - 4:26:02 PM
Long-term archiving on: : Saturday, April 1, 2017 - 10:12:05 AM


Files produced by the author(s)


  • HAL Id : hal-00780803, version 1



Cédric Fournet, Nikhil Swamy, Juan Chen, Pierre-Evariste Dagand, Pierre-Yves Strub, et al.. Fully Abstract Compilation to JavaScript. 40th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL'13 (2013), Jan 2013, Roma, Italy. ⟨hal-00780803⟩



Record views


Files downloads