Typing Local Control and State Using Flow Analysis
By Arjun Guha, Claudiu Saftoiu, Shriram Krishnamurthi. 2011
96 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Hardware and Architecture, 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
- Arjun Guha
- Ming-Ho Yee
- Panagiotis Vekris
- Ranjit Jhala
- Sheng Chen
- David Herman
- Shriram Krishnamurthi
- Martin Erwig
In Hardware and Architecture
- Ming-Ho Yee
- Arjun Guha
- Panagiotis Vekris
- Ranjit Jhala
- Sheng Chen
- Shriram Krishnamurthi
- Martin Erwig
- Eric Walkingshaw
In Software
- Ming-Ho Yee
- Arjun Guha
- Panagiotis Vekris
- Ranjit Jhala
- David Herman
- Shriram Krishnamurthi
- Ravi Chugh
- Kenneth L. McMillan
In Program Analysis & Verification
- Arjun Guha
- Ming-Ho Yee
- Panagiotis Vekris
- Ranjit Jhala
- Sheng Chen
- Shriram Krishnamurthi
- Martin Erwig
- Eric Walkingshaw
Citations in the corpus
- Do Machine Learning Models Produce TypeScript Types that Type Check? (2023, methodology): “This makes it possible to add static types to a large program incrementally, and slowly reap the benefits of static typing without requiring a complete rewrite of an existing codebase at once [22, 46, 48].”
- To Type or Not to Type: Quantifying Detectable Bugs in JavaScript (2017, unknown): “In future work, we plan to use it to quantify the effectiveness of advanced dynamic type analysis techniques for JavaScript [52, 53] and comparing them”
- Dependent types for JavaScript (2011, background): “DJS supports the particularly challenging features such as run-time type-tests, higher-order functions, extensible objects, prototype inheritance, and arrays through a combination of nested re.nement types, strong updates to the heap, and heap unrolling to precisely track prototype hierarchies.”
- Gradual Soundness: Lessons from Static Python (2022, background): “Unions also narrow down via type tests as a kind of occurrence typing [27, 61].”
- Migrating gradual types (2017, background): “A few type systems, such as Guha et al. (2011), Chugh et al. (2012), Pearce (2013), support flow-based reasoning but do not perform type inference.”
- Understanding TypeScript (2014, unknown): “[9] proposed a combination of a type system and a flow analysis.”
- Fast and precise type checking for JavaScript (2017, methodology): “In the area of type refinement, Guha et al. [2011] develop flow typing, which, like Flow, supports type narrowing as a consequence of control flow. Unlike Flow, their analysis is strictly intra-procedural, does not perform type inference and does not track non-local effects (e.g., variable updates).”