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 originale | Anglais |
|---|---|
| Pages (de - à) | 371-383 |
| Nombre de pages | 13 |
| journal | ACM SIGPLAN Notices |
| Volume | 48 |
| Numéro de publication | 1 |
| Les DOIs | |
| état | Publié - 1 janv. 2013 |
| Modification externe | Oui |
Empreinte digitale
Examiner les sujets de recherche de « Fully abstract compilation to JavaScript ». Ensemble, ils forment une empreinte digitale unique.Contient cette citation
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver