Passer à la navigation principale Passer à la recherche Passer au contenu principal

Fully abstract compilation to JavaScript

  • Cédric Fournet
  • , Nikhil Swamy
  • , Juan Chen
  • , Pierre Evariste Dagand
  • , Pierre Yves Strub
  • , Benjamin Livshits
  • Microsoft Research

Résultats de recherche: Contribution à un journalArticleRevue par des pairs

Résumé

Many tools allow programmers to develop applications in high-level languages and deploy them in web browsers via compilation to JavaScript. 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 JavaScript contexts. This paper presents a compiler with such guarantees. We compile an ML-like language with higher-order functions and references to JavaScript, 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 JavaScript contexts. We evaluate our compiler on sample programs, including a series of secure libraries.

langue originaleAnglais
Pages (de - à)371-383
Nombre de pages13
journalACM SIGPLAN Notices
Volume48
Numéro de publication1
Les DOIs
étatPublié - 1 janv. 2013
Modification externeOui

Empreinte digitale

Examiner les sujets de recherche de « Fully abstract compilation to JavaScript ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation