hal-00780803, version 1
Fully Abstract Compilation to JavaScript
Cédric Fournet
1Nikhil Swamy
2Juan Chen
2Pierre-Evariste Dagand
2Pierre-Yves Strub
3Benjamin Livshits
2
40th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL'13 (2013) (2013)
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.
- 1: Microsoft Research [Cambridge] (Microsoft)
- Microsoft Research
- 2: Microsoft Research
- Microsoft
- 3: Microsoft Research - Inria Joint Centre (MSR - INRIA)
- INRIA – Microsoft – Microsoft Research Laboratory Cambridge
- Domain : Computer Science/Programming Languages
Computer Science/Logic in Computer Science
- hal-00780803, version 1
- http://hal.inria.fr/hal-00780803
- oai:hal.inria.fr:hal-00780803
- From: Pierre-Yves Strub
- Submitted on: Thursday, 24 January 2013 18:50:09
- Updated on: Friday, 25 January 2013 10:49:04






Associated documents
See also
Export