Fully Abstract Compilation to JavaScript - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2013

Fully Abstract Compilation to JavaScript

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

Résumé

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
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

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

Identifiants

  • HAL Id : hal-00780803 , version 1

Citer

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⟩

Collections

INRIA
414 Consultations
566 Téléchargements

Partager

Gmail Facebook X LinkedIn More