Type Analysis for JavaScript
By S. Jensen, Anders Møller, Peter Thiemann. 2009
433 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Software, 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
- Charles Sutton
- Michael Pradel
- Miltiadis Allamanis
- Le Song
- Koushik Sen
- Earl T. Barr
- Martin T. Vechev
- Georgios Gousios
In Information Systems
- Michael Pradel
- Charles Sutton
- Miltiadis Allamanis
- Koushik Sen
- Georgios Gousios
- Earl T. Barr
- Premkumar T. Devanbu
- Martin T. Vechev
In Software
- Michael Pradel
- Charles Sutton
- Koushik Sen
- Miltiadis Allamanis
- Earl T. Barr
- Erik Krogh Kristensen
- Georgios Gousios
- Martin T. Vechev
In Program Analysis & Verification
- Michael Pradel
- Charles Sutton
- Georgios Gousios
- Koushik Sen
- Arjun Guha
- Erik Krogh Kristensen
- Miltiadis Allamanis
- Earl T. Barr
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”
- DeepBugs: a learning approach to name-based bug detection (2018, methodology): “There are various bug detection techniques for JavaScript, which usemore traditional static [Jensen et al. 2009; Thiemann 2005] or dynamic [Gong et al.”
- Type test scripts for TypeScript testing (2017, background): “TAJS [Jensen et al. 2009] is a whole-program static analyzer for JavaScript that is designed to infer type information.”
- Python probabilistic type inference with natural language support (2016, methodology): “The classifier takes the source code of a Python project and applies an existing static type inference technique [1, 7, 23, 28].”
- Typing Local Control and State Using Flow Analysis (2011, methodology): “[13, 14] and MrSpidey [4] use flow analysis to recover precise type-like information for arbitrary JavaScript and Scheme programs, respectively.”
- MaxSMT-Based Type Inference for Python 3 (2018, background): “On the other hand, static typing offers early error detection, efficient execution, and machine-checked code documentation, and enables more advanced static analysis and verification approaches [15].”
- JSTrace: Run-time Type Discovery for JavaScript (2010, background): “Other tools provide a deeper analysis of the code [17, 12].”
- Hoppity: Learning Graph Transformations to Detect and Fix Bugs in Programs (2020, methodology): “TAJS: We also compare the bug detection ability of HOPPITY against TAJS (Jensen et al., 2009) which is a well-known static analysis tool for Javascript programs.”
- Type inference for static compilation of JavaScript (2016, background): “An object is either the empty object {·} or a record of fields { a 1 : e 1 , . . . , a n : e n } proto e p , where e p is the object’s prototype.”
- OptTyper: Probabilistic Type Inference by Optimising Logical and Natural Constraints (2020, background): “However, these extensions often fail to scale to realistic programs that make use of dynamic evaluation and complex libraries, for example jQuery, which cannot be analysed precisely [Jensen et al. 2009].”
- Inference and Evolution of TypeScript Declaration Files (2017, methodology): “Our approach to analyze the JavaScript libraries differs from most existing dataflow and type analysis tools for JavaScript, such as, TAJS [9,2] and SAFE [3], which are whole-program analyzers and not sufficiently scalable and precise for typical JavaScript library code.”
- Checking correctness of TypeScript interfaces for JavaScript libraries (2014, methodology): “Many other static analysis techniques have been developed for JavaScript, for example, TAJS, which is designed to detect type-related errors in JavaScript applications [7], WALA [12], and Gatekeeper [6].”
- Predicting program properties from 'big code' (2019, background): “13 Our work predicts likely type annotations for real world programs which can then be provided to the programmer or to a standard type checker.”