Flow-Sensitive Composition of Thread-Modular Abstract Interpretation

09/28/2017
by   Markus Kusano, et al.
0

We propose a constraint-based flow-sensitive static analysis for concurrent programs by iteratively composing thread-modular abstract interpreters via the use of a system of lightweight constraints. Our method is compositional in that it first applies sequential abstract interpreters to individual threads and then composes their results. It is flow-sensitive in that the causality ordering of interferences (flow of data from global writes to reads) is modeled by a system of constraints. These interference constraints are lightweight since they only refer to the execution order of program statements as opposed to their numerical properties: they can be decided efficiently using an off-the-shelf Datalog engine. Our new method has the advantage of being more accurate than existing, flow-insensitive, static analyzers while remaining scalable and providing the expected soundness and termination guarantees even for programs with unbounded data. We implemented our method and evaluated it on a large number of benchmarks, demonstrating its effectiveness at increasing the accuracy of thread-modular abstract interpretation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/06/2021

Thread-modular Analysis of Release-Acquire Concurrency

We present a thread-modular abstract interpretation(TMAI) technique to v...
research
06/02/2023

A Control Flow based Static Analysis of GRAFCET using Abstract Interpretation

The graphical modeling language GRAFCET is used as a formal specificatio...
research
04/25/2019

Abstract Interpretation under Speculative Execution

Analyzing the behavior of a program running on a processor that supports...
research
08/07/2020

An Experiment Combining Specialization with Abstract Interpretation

It was previously shown that control-flow refinement can be achieved by ...
research
07/31/2019

Evaluation of the Implementation of an Abstract Interpretation Algorithm using Tabled CLP

CiaoPP is an analyzer and optimizer for logic programs, part of the Ciao...
research
06/19/2014

Pushdown flow analysis with abstract garbage collection

In the static analysis of functional programs, pushdown flow analysis an...
research
10/26/2022

Hybrid Inlining: A Compositional and Context Sensitive Static Analysis Framework

Context sensitivity is essential for achieving the precision in inter-pr...

Please sign up or login with your details

Forgot password? Click here to reset