Towards Type Inference for JavaScript
By Christopher Anderson, P. Giannini, Sophia Drossopoulou. 2005
218 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Software, Code Generation & Program Synthesis, Program Analysis & Verification
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
- Jeffrey S. Foster
- Milod Kazerounian
- Georgios Gousios
- Ranjit Jhala
- Panagiotis Vekris
- Arjun Guha
- Kexin Pei
- Benjamin Cosman
In Information Systems
- Georgios Gousios
- Jeffrey S. Foster
- Milod Kazerounian
- Ranjit Jhala
- Michael Pradel
- Satish Chandra
- Panagiotis Vekris
- Baowen Xu
In Software
- Ranjit Jhala
- Michael Pradel
- Georgios Gousios
- Jeffrey S. Foster
- Panagiotis Vekris
- Kexin Pei
- X. Zhang
- Baowen Xu
In Code Generation & Program Synthesis
- Jeffrey S. Foster
- Milod Kazerounian
- Georgios Gousios
- Bonan Min
- Satish Chandra
- Ranjit Jhala
- Koushik Sen
- Michael Pradel
In Program Analysis & Verification
- Jeffrey S. Foster
- Arjun Guha
- Georgios Gousios
- Milod Kazerounian
- Ranjit Jhala
- Panagiotis Vekris
- Michael Pradel
- Bonan Min
Citations in the corpus
- TypeWriter: neural type prediction with search-based validation (2019, background): “ed suggestions) could be used to improve the learning process. 2GitHub: python/typeshed 3https://github.com/google/importlab 6 RELATED WORK Type inference for dynamic languages. Static type inference [4, 7, 12, 15] computes types using, e.g., abstract interpretation or type constraint propagation. T”
- SimTyper: sound type inference for Ruby using type equality prediction (2021, background): “…al. 1994; Cartwright and Fagan 1991; Pottier 1998; Wright and Cartwright 1997] as well, and this has enabled the development of practical type inference systems for dynamic languages such as Python [Aycock 2000], JavaScript [Anderson et al. 2005; Hackett and Guo 2012], and Ruby [Furr et al. 2009].”
- The ruby type checker (2013, background): “Towards a Type System for Analyzing JavaScript Programs.”
- The ins and outs of gradual type inference (2012, background): “Towards Type Inference for JavaScript.”
- Static type inference for Ruby (2009, unknown): “The challenges in typing Ruby are somewhat different than for Javascript, which builds objects by assigning pre-methods to them rather than using classes.”
- Dependent types for JavaScript (2011, background): “The approach in [4] distinguishes between potential and definite keys, similar to the reservation and sealed discussed above; this general approach has been extended with flow-sensitivity and polymorphism [39].”
- MaxSMT-Based Type Inference for Python 3 (2018, background): “A similar spectrum of solutions exists for other dynamic programming languages like JavaScript [2,14] and ActionScript [21].”
- Towards a program logic for JavaScript (2012, background): “There are a number of more abstract models of JavaScript, which have proven useful to study selected language features [1, 28, 33], but which are not sufficiently concrete for our purpose.”
- Typing Local Control and State Using Flow Analysis (2011, unknown): “[1] tackle type inference for JavaScript.”
- Jalangi: a selective record-replay and dynamic analysis framework for JavaScript (2013, methodology): “In the recent years, several static [35, 14, 1, 12, 34, 32] and dynamic analysis [24, 27, 3, 17] tools for JavaScript have been proposed.”
- Python probabilistic type inference with natural language support (2016, methodology): “There have been a lot of works on type inference for dynamic languages in general [26, 28, 23, 24].”
- Dynamic inference of static types for ruby (2011, unknown): “Several researchers have explored type inference for objectoriented dynamic languages, including Ruby [2, 3, 10, 12, 16, 18], Python [4, 7, 24], and JavaScript [5, 27], among others.”
- Type Analysis for JavaScript (2009, unknown): “For the Anderson programs, our analysis detects all errors without spurious warnings and provides type information consistent with that of Anderson [2].”
- Profile-guided static typing for dynamic scripting languages (2009, methodology): “In addition to DRuby, researchers have proposed a number of other type systems for dynamic languages including Scheme (Cartwright and Fagan 1991; Tobin-Hochstadt and Felleisen 2008), Smalltalk (Graver and Johnson 1990; Strongtalk; Wuyts 2007), Javascript (Thiemann 2005; Hansen 2007; Anderson et al. ”
- Type inference for static compilation of JavaScript (2016, methodology): “Early work on type inference for JavaScript by Thie-mann [42] and Anderson et al. [14] ignored essential language features such as prototype inheritance, focusing instead on dynamic operations such as property addition.”
- Understanding TypeScript (2014, background): “[2] proposed another type system with a focus on type inference.”
- Julia: A Fast Dynamic Language for Technical Computing (2012, methodology): “The V8 JavaScript JIT compiler’s performance is impressive.”
- Fast and precise type checking for JavaScript (2017, unknown): “Early work by Thiemann [2005] and Anderson et al. [2005] focus on restricted subsets of the language.”