Context-Bounded Verification of Liveness Properties for Multithreaded Shared-Memory Programs

被引:7
|
作者
Baumann, Pascal [1 ]
Majumdar, Rupak [1 ]
Thinniyam, Ramanathan S. [1 ]
Zetzsche, Georg [1 ]
机构
[1] Max Planck Inst Software Syst MPI SWS, Paul Ehrlich Str,Bldg G26, D-67663 Kaiserslautern, Germany
基金
欧洲研究理事会;
关键词
verification; liveness; multithreaded programs; decidability; computational complexity; CONCURRENT PROGRAMS; DECIDABILITY;
D O I
10.1145/3434325
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We study context-bounded verification of liveness properties of multi-threaded, shared-memory programs, where each thread can spawn additional threads. Our main result shows that context-bounded fair termination is decidable for the model; context-bounded implies that each spawned thread can be context switched a fixed constant number of times. Our proof is technical, since fair termination requires reasoning about the composition of unboundedly many threads each with unboundedly large stacks. In fact, techniques for related problems, which depend crucially on replacing the pushdown threads with finite-state threads, are not applicable. Instead, we introduce an extension of vector addition systems with states (VASS), called VASS with balloons (VASSB), as an intermediate model; it is an infinite-state model of independent interest. A VASSB allows tokens that are themselves markings (balloons). We show that context bounded fair termination reduces to fair termination for VASSB. We show the latter problem is decidable by showing a series of reductions: from fair termination to configuration reachability for VASSB and thence to the reachability problem for VASS. For a lower bound, fair termination is known to be non-elementary already in the special case where threads run to completion (no context switches). We also show that the simpler problem of context-bounded termination is 2EXPSPACE-complete, matching the complexity boundDand indeed the techniquesDfor safety verification. Additionally, we show the related problem of fair starvation, which checks if some thread can be starved along a fair run, is also decidable in the context-bounded case. The decidability employs an intricate reduction from fair starvation to fair termination. Like fair termination, this problem is also non-elementary.
引用
收藏
页数:31
相关论文
共 50 条
  • [1] Symbolic context-bounded analysis of multithreaded java']java programs
    Suwimonteerabuth, Dejvuth
    Esparza, Javier
    Schwoon, Stefan
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2008, 5156 : 270 - 287
  • [2] Context-bounded analysis of multithreaded programs with dynamic linked structures
    Bouajjani, Ahmed
    Fratani, Severine
    Qadeer, Shaz
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2007, 4590 : 207 - +
  • [3] The case for context-bounded verification of concurrent programs
    Qadeer, Shaz
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2008, 5156 : 3 - 6
  • [4] Context-Bounded Verification of Thread Pools
    Baumann, Pascal
    Majumdar, Rupak
    Thinniyam, Ramanathan S.
    Zetzsche, Georg
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (POPL):
  • [5] Thread-modular verification for shared-memory programs
    Flanagan, C
    Freund, SN
    Qadeer, S
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2002, 2305 : 262 - 277
  • [6] Context-Bounded Verification of Context-Free Specifications
    Baumann, Pascal
    Ganardi, Moses
    Majumdar, Rupak
    Thinniyam, Ramanathan S.
    Zetzsche, Georg
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (POPL): : 2141 - 2170
  • [7] CONTEXT-BOUNDED ANALYSIS FOR CONCURRENT PROGRAMS WITH DYNAMIC CREATION OF THREADS
    Atig, Mohamed Faouzi
    Bouajjani, Ahmed
    Qadeer, Shaz
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2011, 7 (04)
  • [8] Context-bounded analysis for concurrent programs with dynamic creation of threads
    Uppsala University, Sweden
    不详
    不详
    [J]. Log. Methods Comp. Sci, 4 (1-48):
  • [9] Context-Bounded Analysis for Concurrent Programs with Dynamic Creation of Threads
    Atig, Mohamed Faouzi
    Bouajjani, Ahmed
    Qadeer, Shaz
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2009, 5505 : 107 - +
  • [10] Parameterized Verification of Asynchronous Shared-Memory Systems
    Esparza, Javier
    Ganty, Pierre
    Majumdar, Rupak
    [J]. JOURNAL OF THE ACM, 2016, 63 (01)