Journal Article10.1145/3418583
Interprocedural Context-Unbounded Program Analysis Using Observation Sequences
2
TL;DR: A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable.
read more
Abstract: 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, as errors tend to occur within few contexts. The question of whether the technique can also prove the absence of bugs at least in some cases has remained largely open. Toward closing this gap, we introduce in this article the generic verification paradigm of observation sequences for resource-parameterized programs. Such a sequence observes how increasing the resource parameter affects the reachability of states satisfying a given property. The goal is to show that increases beyond some “cutoff” parameter value have no impact on the reachability—the sequence has converged. This allows us to conclude that the property holds for all parameter values. We applied this paradigm to the context-unbounded program analysis problem, choosing the resource to be the number of permitted thread context switches. The result is a partially correct interprocedural reachability analysis technique for concurrent shared-memory programs. Our technique may not terminate but is able to both refute and prove context-unbounded safety for such programs. We demonstrate the effectiveness and efficiency of the technique using a variety of benchmark programs. The safe instances cannot be proved safe by earlier, context-bounded methods.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Posted Content
Delay-Bounded Scheduling Without Delay! (Extended Technical Report).
Andrew Johnson,Thomas Wahl +1 more
TL;DR: In this article, the authors present a technique to lift the delay bound for finite-domain variable programs, thus adding to the efficiency of bug detection the ability to prove safety of programs under arbitrary thread interleavings.
References
•Book
Introduction to Automata Theory, Languages, and Computation
John E. Hopcroft,Rajeev Motwani,Rotwani,Jeffrey D. Ullman +3 more
- 01 Jan 1979
TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
14.5K
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
Patrick Cousot,Radhia Cousot +1 more
- 01 Jan 1977
TL;DR: In this paper, the abstract interpretation of programs is used to describe computations in another universe of abstract objects, so that the results of abstract execution give some information on the actual computations.
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
Shan Lu,Soyeon Park,Eunsoo Seo,Yuanyuan Zhou +3 more
- 01 Mar 2008
TL;DR: This study carefully examined concurrency bug patterns, manifestation, and fix strategies of 105 randomly selected real world concurrency bugs from 4 representative server and client open-source applications and reveals several interesting findings that provide useful guidance for concurrency Bug detection, testing, and concurrent programming language design.
Context-Bounded model checking of concurrent software
Shaz Qadeer,Jakob Rehof +1 more
- 04 Apr 2005
TL;DR: In this paper, the authors show that the problem of verifying a concurrent boolean program is decidable, even in the presence of unbounded parallelism, if the analysis is restricted to executions in which the number of context switches is bounded by an arbitrary constant.
Adding nesting structure to words
Rajeev Alur,P. Madhusudan +1 more
TL;DR: In this paper, the authors define nested word automata, which generalize both words and ordered trees, and allow both word and tree operations, and show that the resulting class of regular languages of nested words has all the appealing theoretical properties that the classical regular word languages enjoys: deterministic nestedword automata are as expressive as their non-deterministic counterparts; the class is closed under union, intersection, complementation, concatenation, Kleene-a, prefixes, and language homomorphisms; membership, emptiness, language equivalence are all decidable;
Related Papers (5)
Rohit Chadha,P. Madhusudan,Mahesh Viswanathan +2 more
- 24 Mar 2012
Mohamed Faouzi Atig,Tayssir Touili +1 more
- 07 Jul 2009
Thomas Ball,Orna Kupferman,Mooly Sagiv +2 more
- 03 Jul 2007