Refinement Types for TypeScript
Programming Languages
2016-04-12 v1
Abstract
We present Refined TypeScript (RSC), a lightweight refinement type system for TypeScript, that enables static verification of higher-order, imperative programs. We develop a formal core of RSC 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 RSC on a set of real world benchmarks, including parts of the Octane benchmarks, D3, Transducers, and the TypeScript compiler.
Cite
@article{arxiv.1604.02480,
title = {Refinement Types for TypeScript},
author = {Panagiotis Vekris and Benjamin Cosman and Ranjit Jhala},
journal= {arXiv preprint arXiv:1604.02480},
year = {2016}
}