Context-Bounded Analysis For Concurrent Programs With Dynamic Creation of Threads
Mohamed Faouzi Atig (LIAFA, CNRS, University of Paris Diderot, (Paris 7)), Ahmed Bouajjani (LIAFA, CNRS, University of Paris Diderot, (Paris 7)), Shaz Qadeer (Microsoft Research, Redmond)

TL;DR
This paper introduces a generalized context-bounded analysis method for concurrent programs with dynamic thread creation, bounding context switches per thread to improve bug detection while maintaining decidability.
Contribution
It proposes a new definition of context-bounded analysis that handles dynamic thread creation by bounding context switches per thread, extending the applicability of the analysis.
Findings
Decidability results established for the new analysis variants.
Complexity bounds derived for the proposed analysis methods.
Enhanced bug detection capabilities for dynamically created 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, context-bounded 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 more general definition of context-bounded analysis useful for programs with dynamic thread creation. The idea is to bound the number of context switches for each thread instead of bounding the number of switches of all threads. We consider several variants based on this new definition, and we establish decidability and complexity results for the analysis induced by them.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
