Path-sensitive Type Analysis with Backward Analysis for Quality Assurance of Dynamic Typed Language Code
Ryutaro Kodama, Yoshitaka Arahori, and Kathuhiko Gondow

TL;DR
This paper introduces a path-sensitive static type analysis method for Python that uses backward analysis to improve precision, reducing false positives while maintaining practical analysis times.
Contribution
It presents a novel backward analysis approach to enhance the accuracy of static type analysis for dynamically typed languages like Python.
Findings
More precise type analysis with fewer false positives
Increased analysis time but within practical limits
Demonstrated effectiveness through preliminary experiments
Abstract
Precise and fast static type analysis for dynamically typed language is very difficult. This is mainly because the lack of static type information makes it difficult to approximate all possible values of a variable. Actually, the existing static type analysis methods are imprecise or slow. In this paper, we propose a novel method to improve the precision of static type analysis for Python code, where a backward analysis is used to obtain the path-sensitivity. By doing so, our method aims to obtain more precise static type information, which contributes to the overall improvement of static analysis. To show the effectiveness of our method, we conducted a preliminary experiment to compare our method implementation and the existing analysis tool with respect to precision and time efficiency. The result shows our method provides more precise type analysis with fewer false positives than the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques · Software Engineering Research · Software Testing and Debugging Techniques
