Flow-Sensitive Composition of Thread-Modular Abstract Interpretation

by   Markus Kusano, et al.

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.



page 1

page 2

page 3

page 4


Thread-modular Analysis of Release-Acquire Concurrency

We present a thread-modular abstract interpretation(TMAI) technique to v...

Abstract Interpretation under Speculative Execution

Analyzing the behavior of a program running on a processor that supports...

An Experiment Combining Specialization with Abstract Interpretation

It was previously shown that control-flow refinement can be achieved by ...

Data Flow Refinement Type Inference

Refinement types enable lightweight verification of functional programs....

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...

Pushdown flow analysis with abstract garbage collection

In the static analysis of functional programs, pushdown flow analysis an...

Thread-Modular Static Analysis for Relaxed Memory Models

We propose a memory-model-aware static program analysis method for accur...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.