Complexity of Pattern-based Verification for Multithreaded Programs

被引:5
|
作者
Esparza, Javier [1 ]
Ganty, Pierre [2 ]
机构
[1] Tech Univ Munich, Fak Informat, D-8000 Munich, Germany
[2] IMDEA Software Inst, Madrid, Spain
关键词
Verification; Languages; Algorithms; Reliability; concurrent programming; safety; context-free languages; CONTEXT-BOUNDED ANALYSIS; CONCURRENT PROGRAMS; PUSHDOWN SYSTEMS; REACHABILITY; THREADS; LANGUAGES; NETWORKS; LOCKS;
D O I
10.1145/1925844.1926443
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Pattern-based verification checks the correctness of the program executions that follow a given pattern, a regular expression over the alphabet of program transitions of the form w*(1) ... w*(n). For multithreaded programs, the alphabet of the pattern is given by the synchronization operations between threads. We study the complexity of pattern-based verification for abstracted multithreaded programs in which, as usual in program analysis, conditions have been replaced by nondeterminism (the technique works also for boolean programs). While unrestricted verification is undecidable for abstracted multithreaded programs with recursive procedures and PSPACE-complete for abstracted multithreaded while-programs, we show that pattern-based verification is NP-complete for both classes. We then conduct a multiparameter analysis in which we study the complexity in the number of threads, the number of procedures per thread, the size of the procedures, and the size of the pattern. We first show that no algorithm for pattern-based verification can be polynomial in the number of threads, procedures per thread, or the size of the pattern (unless P=NP). Then, using recent results about Parikh images of regular languages and semilinear sets, we present an algorithm exponential in the number of threads, procedures per thread, and size of the pattern, but polynomial in the size of the procedures.
引用
收藏
页码:499 / 510
页数:12
相关论文
共 50 条
  • [1] Complexity of Pattern-based Verification for Multithreaded Programs
    Esparza, Javier
    Ganty, Pierre
    [J]. POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 499 - 510
  • [2] Pattern-Based Verification for Multithreaded Programs
    Esparza, Javier
    Ganty, Pierre
    Poch, Tomas
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (03):
  • [3] Pattern-Based Verification of Programs with Extended Linear Linked Data Structures
    Ceska, Milan
    Erlebach, Pavel
    Vojnar, Tomas
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 145 (113-130) : 113 - 130
  • [4] Pattern-based verification for trees
    Ceska, Milan
    Erlebach, Pavel
    Vojnar, Tomas
    [J]. COMPUTER AIDED SYSTEMS THEORY- EUROCAST 2007, 2007, 4739 : 488 - 496
  • [5] Modular verification of multithreaded programs
    Flanagan, C
    Freund, SN
    Qadeer, S
    Seshia, SA
    [J]. THEORETICAL COMPUTER SCIENCE, 2005, 338 (1-3) : 153 - 183
  • [6] Description and Verification of Pattern-Based Composition in Coq
    Liu, Qiang
    Ynag, Zhongyuan
    Xie, Jinkui
    [J]. ADVANCES IN COMPUTATIONAL SCIENCE AND ENGINEERING, 2009, 28 : 231 - 245
  • [7] A pattern-based approach for the verification of business process descriptions
    Patig, Susanne
    Stolz, Manuela
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2013, 55 (01) : 58 - 87
  • [8] Pattern-Based Design and Verification of Secure Service Compositions
    Pino, Luca
    Spanoudakis, George
    Krotsiani, Maria
    Mahbub, Khaled
    [J]. IEEE TRANSACTIONS ON SERVICES COMPUTING, 2020, 13 (03) : 515 - 528
  • [9] Formal verification of the value pattern-based translation algorithm
    Kim, Jinhyung
    Jeong, Dongwon
    Baik, Doo-Kwon
    [J]. DYNAMICS OF CONTINUOUS DISCRETE AND IMPULSIVE SYSTEMS-SERIES B-APPLICATIONS & ALGORITHMS, 2007, 14 : 1359 - 1363
  • [10] Verification of automatically generated pattern-based LTL specifications
    Salamah, Salamah
    Gates, Ann Q.
    Kreinovich, Vladik
    Roach, Steve
    [J]. HASE 2007: 10TH IEEE HIGH ASSURANCE SYSTEMS ENGINEERING SYMPOSIUM, PROCEEDINGS, 2007, : 341 - 348