FlowCFL: A Framework for Type-based Reachability Analysis in the Presence of Mutable Data

05/13/2020
by   Ana Milanova, et al.
0

Reachability analysis is a fundamental program analysis with a wide variety of applications. We present FlowCFL, a framework for type-based reachability analysis in the presence of mutable data. Interestingly, the underlying semantics of FlowCFL is CFL-reachability. We make three contributions. First, we define a dynamic semantics that captures the notion of flow commonly used in reachability analysis. Second, we establish correctness of CFL-reachability over graphs with inverse edges (inverse edges are necessary for the handling of mutable heap data). Our approach combines CFL-reachability with reference immutability to avoid the addition of certain infeasible inverse edges and we demonstrate empirically that avoiding those edges results in precision improvement. Our formal account of correctness extends to this case as well. Third, we present a type-based reachability analysis and establish equivalence between a certain CFL-reachability analysis and the type-based analysis, thus proving correctness of the type-based analysis.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/16/2022

On Higher-Order Reachability Games vs May Reachability

We consider the reachability problem for higher-order functional program...
research
10/01/2019

Optimal Dyck Reachability for Data-Dependence and Alias Analysis

A fundamental algorithmic problem at the heart of static analysis is Dyc...
research
11/19/2021

Benchmarks of Extended Basis Reachability Graphs

In this note, we want to provide a comparison among the efficiency of di...
research
12/10/2022

A Quantitative Flavour of Robust Reachability

Many software analysis techniques attempt to determine whether bugs are ...
research
04/23/2018

Reachability and Distances under Multiple Changes

Recently it was shown that the transitive closure of a directed graph ca...
research
09/12/2023

Modeling Reachability Types with Logical Relations

Reachability types are a recent proposal to bring Rust-style reasoning a...
research
05/28/2018

Ranking and Repulsing Supermartingales for Reachability in Probabilistic Programs

Computing reachability probabilities is a fundamental problem in the ana...

Please sign up or login with your details

Forgot password? Click here to reset