2011
DOI: 10.2168/lmcs-7(4:4)2011
|View full text |Cite
|
Sign up to set email alerts
|

Context-Bounded Analysis For Concurrent Programs With Dynamic Creation of Threads

Abstract: Context-bounded analysis has been shown to be both efficient and effective at finding bugs in concurrent programs. According to its original definition, contextbounded analysis explores all behaviors of a concurrent program up to some fixed number of context switches between threads. This definition is inadequate for programs that create threads dynamically because bounding the number of context switches in a computation also bounds the number of threads involved in the computation. In this paper, we propose a… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
64
0

Year Published

2011
2011
2023
2023

Publication Types

Select...
8

Relationship

1
7

Authors

Journals

citations
Cited by 48 publications
(65 citation statements)
references
References 25 publications
1
64
0
Order By: Relevance
“…When a finite number of threads are involved in the computation, the problem is decidable by using the classical reachability algorithm for finite state concurrent programs. The same problem remains decidable if we add dynamic thread creation, by a reduction to the coverability problem for Petri nets [2]. On the other hand, if we have at least two recursive threads involved in the computation, the k-store-age TSO-reachability becomes undecidable for any k: For every concurrent program P we can construct a concurrent program P (obtained from P by inserting a fence statement at each control location of P) such that the SC-reachability problem for P (which is an undecidable problem in general) can be reduced to the k-store-age TSO-reachability problem for P .…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…When a finite number of threads are involved in the computation, the problem is decidable by using the classical reachability algorithm for finite state concurrent programs. The same problem remains decidable if we add dynamic thread creation, by a reduction to the coverability problem for Petri nets [2]. On the other hand, if we have at least two recursive threads involved in the computation, the k-store-age TSO-reachability becomes undecidable for any k: For every concurrent program P we can construct a concurrent program P (obtained from P by inserting a fence statement at each control location of P) such that the SC-reachability problem for P (which is an undecidable problem in general) can be reduced to the k-store-age TSO-reachability problem for P .…”
Section: Resultsmentioning
confidence: 99%
“…For instance, TSO bounded context-switch reachability is decidable for finite number of threads [17], as well as for bounded round-robin reachability for the parametrized case [9]. Moreover, decidability results concerning the analysis of programs with dynamic thread creation for k context-switches per thread [2] can also be transferred to the TSO case.…”
Section: Resultsmentioning
confidence: 99%
“…The key idea here is to restrict interaction among the threads so as to bypass the undecidability barrier. Another natural way to obtain decidability is to explore the state space of the given concurrent multithreaded program for a bounded number of context switches among the threads both for model checking [17,3] and dataflow analysis [16] or by restricting the allowed set of schedules [2].…”
Section: Resultsmentioning
confidence: 99%
“…Here, documents contain data values whose range is potentially unbounded and queries are allowed to perform comparison tests on such data. A similar scenario occurs in reference-based programming languages, such as object-oriented [6,2,12,17] or ML-like languages [18,19]. In such languages, memory is managed with the help of reference names that can be created afresh and compared for equality but are otherwise abstract.…”
Section: Introductionmentioning
confidence: 97%
“…Our paper is devoted to studying exactly such context-free computational scenarios through an investigation of pushdown register systems (PDRS), devices in which registers are integrated with a pushdown store. Although of foundational nature, the work is largely motivated by the pertinence of such machines to software model checking [6,2]. A particular such application is in game-semantics-based verification [19,16], whereby the semantics of programs is algorithmically given by means of variants of pushdown register systems, which in turn are used as models to be fed in procedures for checking program equivalence.…”
Section: Introductionmentioning
confidence: 99%