Data races do not cover all kinds of concurrency errors. This paper presents a data-ow-based technique to nd stale-value errors, which are not found by low-level and high-level d...
We present a general theory of Gifford-style type and effect annotations, where effect annotations are sets of effects. Generality is achieved by recourse to the theory of algebra...
We show how the binary encoding and decoding of typed data and typed programs can be understood, programmed, and verified with the help of question-answer games. The encoding of a...
Verifying that a piece of software has no bugs means proving that it has certain desired properties, such as an array index not taking values outside certain Abstract interpretati...
Existing definitions of program obfuscation do not rule out malleability attacks, where an adversary that sees an obfuscated program is able to generate another (potentially obfus...