CUBA: Interprocedural Context-UnBounded Analysis of Concurrent Programs (Extended Manuscript)

04/13/2018
by   Peizun Liu, et al.
0

A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable. A technique proposed by Qadeer and Rehof, to bound the number of context switches allowed between the threads, leads to an incomplete solution that is, however, believed to catch "most bugs" in practice. The question whether the technique can also prove the absence of bugs at least in some cases has remained largely open. In this paper we introduce a broad verification methodology for resource-parameterized programs that observes how changes to the resource parameter affect the behavior of the program. Applied to the context-unbounded analysis problem (CUBA), the methodology results in partial verification techniques for procedural concurrent programs. Our solutions may not terminate, but are able to both refute and prove context-unbounded safety for concurrent recursive threads. We demonstrate the effectiveness of our method using a variety of examples, the safe of which cannot be proved safe by earlier, context-bounded methods.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/15/2021

Delay-Bounded Scheduling Without Delay! (Extended Technical Report)

We consider the broad problem of analyzing safety properties of asynchro...
research
08/22/2022

Verification-Preserving Inlining in Automatic Separation Logic Verifiers (extended version)

Bounded verification has proved useful to detect bugs and to increase co...
research
07/20/2020

The Decidability of Verification under Promising 2.0

In PLDI'20, Lee et al. introduced the promising semantics PS 2.0 of the...
research
05/15/2018

Borrowing Safe Pointers from Rust in SPARK

In the field of deductive software verification, programs with pointers ...
research
11/17/2018

On Reachability in Parameterized Phaser Programs

We address the problem of statically checking safety properties (such as...
research
10/19/2017

Safe Pointers in SPARK 2014

In the context of deductive software verification, programs with pointer...
research
08/09/2017

Safety Verification of Phaser Programs

We address the problem of statically checking control state reachability...

Please sign up or login with your details

Forgot password? Click here to reset