• Publications
  • Influence
Macaroons: Cookies with Contextual Caveats for Decentralized Authorization in the Cloud
Controlled sharing is fundamental to distributed systems; yet, on the Web, and in the Cloud, sharing is still based on rudimentary mechanisms. More flexible, decentralized cryptographic authorizationExpand
  • 64
  • 12
  • PDF
Python: the full monty
We present a small-step operational semantics for the Python programming language. We present both a core language for Python, suitable for tools and proofs, and a translation process for convertingExpand
  • 38
  • 8
ADsafety: Type-Based Verification of JavaScript Sandboxing
Web sites routinely incorporate JavaScript programs from several sources into a single page. These sources must be protected from one another, which requires robust sandboxing. The many entry-pointsExpand
  • 98
  • 5
  • PDF
A tested semantics for getters, setters, and eval in JavaScript
We present S5, a semantics for the strict mode of the ECMAScript 5.1 (JavaScript) programming language. S5 shrinks the large source language into a manageable core through an implementedExpand
  • 39
  • 5
  • PDF
TeJaS: retrofitting type systems for JavaScript
JavaScript programs vary widely in functionality, complexity, and use, and analyses of these programs must accommodate such variations. Type-based analyses are typically the simplest such analyses,Expand
  • 47
  • 2
  • PDF
CaptainTeach: multi-stage, in-flow peer review for programming assignments
Computing educators have used peer review in various ways in courses at many levels. Few of these efforts have applied peer review to multiple deliverables (such as specifications, tests, and code)Expand
  • 10
  • 2
  • PDF
A Tested Semantics for the Python Programming Language
We present a small-step operational semantics for the Python programming language. We present both a core language for Python, suitable for tools and proofs, and a translation process for convertingExpand
  • 9
  • 1
  • PDF
Type-Based Verification of JavaScript Sandboxing
Web sites routinely incorporate programs from several sources into a single page. These sources must be protected from one another, which requires robust sandboxing of JavaScript. The manyExpand
  • 11
  • 1
  • PDF
In-Flow Peer Review
Peer-review is a valuable tool that helps both the reviewee, who receives feedback about his work, and the reviewer, who sees different potential solutions and improves her ability to critique work.Expand
  • 6
  • 1
  • PDF
Putting in all the stops: execution control for JavaScript
Scores of compilers produce JavaScript, enabling programmers to use many languages on the Web, reuse existing code, and even use Web IDEs. Unfortunately, most compilers inherit the browser'sExpand
  • 8
  • 1
  • PDF