TeJaS: retrofitting type systems for JavaScript
By Benjamin S. Lerner, Joe Gibbs Politz, Arjun Guha, Shriram Krishnamurthi. 2013
54 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Hardware and Architecture, Information Systems, Program Analysis & Verification, Software Engineering
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Erik Krogh Kristensen
- Arjun Guha
- Anders Møller
- Ming-Ho Yee
- Ranjit Jhala
- Panagiotis Vekris
- Benjamin Cosman
- Jeffrey S. Foster
In Hardware and Architecture
- Ming-Ho Yee
- Anders Møller
- Erik Krogh Kristensen
- Arjun Guha
- Panagiotis Vekris
- Ranjit Jhala
- Asger Feldthaus
- Benjamin Cosman
In Information Systems
- Arjun Guha
- Ming-Ho Yee
- Erik Krogh Kristensen
- Anders Møller
- Ranjit Jhala
- Panagiotis Vekris
- Jeffrey S. Foster
- Benjamin Cosman
In Program Analysis & Verification
- Arjun Guha
- Ming-Ho Yee
- Erik Krogh Kristensen
- Anders Møller
- Jeffrey S. Foster
- Panagiotis Vekris
- Ranjit Jhala
- Benjamin Cosman
In Software Engineering
- Erik Krogh Kristensen
- Anders Møller
- Arjun Guha
- Ming-Ho Yee
- Jeffrey S. Foster
- Ranjit Jhala
- Panagiotis Vekris
- Benjamin Cosman
Citations in the corpus
- Do Machine Learning Models Produce TypeScript Types that Type Check? (2023, methodology): “Although this paper focuses on type migration for TypeScript, there are several other gradual type systems for JavaScript [15, 22, 30, 49].”
- Refinement types for TypeScript (2016, methodology): “TeJaS [20] combines occurrence typing with flow analysis to analyze JS [20].”
- SimTyper: sound type inference for Ruby using type equality prediction (2021, background): “…the benefits of static typing while preserving the flexibility of the language [Aiken et al. 1994; Cartwright and Fagan 1991; Flanagan and Felleisen 1997; Kazerounian et al. 2019; Lerner et al. 2013; Ren and Foster 2016; Siek and Taha 2006; Tobin-Hochstadt and Felleisen 2008; Vitousek et al. 2014].”
- Inference and Evolution of TypeScript Declaration Files (2017, methodology): “Other research on TypeScript includes formalization and variations of its type system [4,17,18,22], and several alternative techniques for JavaScript type inference exist [16,11,6], however, none of that work addresses the challenges that arise when integrating JavaScript libraries into typed applic”
- NL2Type: Inferring JavaScript Function Types from Natural Language Information (2019, background): “Previous work has addressed the type inference problem through static analyses of code [5]–[8].”
- Design and evaluation of gradual typing for python (2014, methodology): “[18] developed TeJaS, a framework for retrofitting static type systems onto JavaScript to experiment with static semantics design choices.”
- Checking correctness of TypeScript interfaces for JavaScript libraries (2014, methodology): “Several more expressive type systems for JavaScript than the one in TypeScript have been proposed, including TeJaS [9] and DJS [1].”
- Practical Optional Types for Clojure (2016, methodology): “TeJaS [16], another type system for JavaScript, also supports similar HMaps, with the ability to record the presence and absence of entries, but lacks a compositional flow-checking approach like occurrence typing.”