Fully Abstract Compilation to JavaScript - Archive ouverte HAL Access content directly
Conference Papers Year : 2013

Fully Abstract Compilation to JavaScript

Cédric Fournet
  • Function : Author
  • PersonId : 901974
Nikhil Swamy
  • Function : Author
  • PersonId : 901972
Juan Chen
  • Function : Author
  • PersonId : 901973
Pierre-Evariste Dagand
Pierre-Yves Strub
  • Function : Author
  • PersonId : 857170
Benjamin Livshits
  • Function : Author
  • PersonId : 935923


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.
Fichier principal
Vignette du fichier
js-star-popl-2013.pdf (497.63 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00780803 , version 1 (24-01-2013)


  • 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⟩


384 View
525 Download


Gmail Facebook Twitter LinkedIn More