Refinement Types for TypeScript [article]

Panagiotis Vekris, Benjamin Cosman, Ranjit Jhala
2016 arXiv   pre-print
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.
arXiv:1604.02480v1 fatcat:uh66gyucgzbsxidrzghru757yq