Thu 16 Jun 2016 11:30 - 12:00 at Grand Ballroom San Rafael - Types I Chair(s): David Walker

We present RefScript, a lightweight refinement type system for TypeScript, that enables static verification of higher- order, imperative programs. We develop a formal core of RefScript that delineates the interaction between refinement types and mutability. Next, we extend the core to account for the imperative and dynamic features of TypeScript. Finally, we evaluate RefScript on a set of real world benchmarks, including parts of the Octane benchmarks, D3, Transducers, and the TypeScript compiler.