Path-sensitive Type Analysis with Backward Analysis for Quality Assurance of Dynamic Typed Language Code

02/15/2023
by   Ryutaro Kodama, et al.
0

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 existing static type analysis tool. Also it shows our proposed method increases the analysis time, but it is still within the range of practical use.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/16/2023

TypeT5: Seq2seq Type Inference using Static Analysis

There has been growing interest in automatically predicting missing type...
research
06/27/2021

PYInfer: Deep Learning Semantic Type Inference for Python Variables

Python type inference is challenging in practice. Due to its dynamic pro...
research
12/08/2019

TypeWriter: Neural Type Prediction with Search-based Validation

Maintaining large code bases written in dynamically typed languages, suc...
research
02/07/2022

An Automated Approach for Privacy Leakage Identification in IoT Apps

This paper presents a fully automated static analysis approach and a too...
research
06/27/2022

Nowhere to Hide: Detecting Obfuscated Fingerprinting Scripts

As the web moves away from stateful tracking, browser fingerprinting is ...
research
05/28/2021

Accelerating JavaScript Static Analysis via Dynamic Shortcuts (Extended Version)

JavaScript has become one of the most widely used programming languages ...
research
06/24/2021

An extended and more practical mwp flow analysis

We improve and refine a method for certifying that the values' sizes com...

Please sign up or login with your details

Forgot password? Click here to reset