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.
Submitted 8 Apr 2016 to
Programming Languages [
cs.PL]
Published 12 Apr 2016
http://arxiv.org/abs/1604.02480http://arxiv.org/pdf/1604.02480.pdfhttps://arxiv-vanity.com/papers/1604.02480
0 comments