Optimal Dynamic Partial Order Reduction

被引:99
|
作者
Abdulla, Parosh [1 ]
Aronis, Stavros [1 ]
Jonsson, Bengt [1 ]
Sagonas, Konstantinos [1 ]
机构
[1] Uppsala Univ, Dept Informat Technol, Uppsala, Sweden
关键词
dynamic partial oder reduction; software model checking; systematic testing; concurrency; source sets; wakeup trees; MODEL CHECKING; PROGRAMS; SOFTWARE;
D O I
10.1145/2535838.2535845
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Stateless model checking is a powerful technique for program verification, which however suffers from an exponential growth in the number of explored executions. A successful technique for reducing this number, while still maintaining complete coverage, is Dynamic Partial Order Reduction (DPOR). We present a new DPOR algorithm, which is the first to be provably optimal in that it always explores the minimal number of executions. It is based on a novel class of sets, called source sets, which replace the role of persistent sets in previous algorithms. First, we show how to modify an existing DPOR algorithm to work with source sets, resulting in an efficient and simple to implement algorithm. Second, we extend this algorithm with a novel mechanism, called wakeup trees, that allows to achieve optimality. We have implemented both algorithms in a stateless model checking tool for Erlang programs. Experiments show that source sets significantly increase the performance and that wakeup trees incur only a small overhead in both time and space.
引用
收藏
页码:373 / 384
页数:12
相关论文
共 50 条
  • [1] Optimal Dynamic Partial Order Reduction with Observers
    Aronis, Stavros
    Jonsson, Bengt
    Lang, Magnus
    Sagonas, Konstantinos
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2018, PT II, 2018, 10806 : 229 - 248
  • [2] Truly Stateless, Optimal Dynamic Partial Order Reduction
    Kokologiannakis, Michalis
    Marmanis, Iason
    Gladstein, Vladimir
    Vafeiadis, Viktor
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (POPL):
  • [3] Source Sets: A Foundation for Optimal Dynamic Partial Order Reduction
    Abdulla, Parosh Aziz
    Aronis, Stavros
    Jonsson, Bengt
    Sagonas, Konstantinos
    [J]. JOURNAL OF THE ACM, 2017, 64 (04)
  • [4] Optimal Context-Sensitive Dynamic Partial Order Reduction with Observers
    Albert, Elvira
    Banda, Maria Garcia de la
    Gomez-Zamalloa, Miguel
    Isabel, Miguel
    Stuckey, Peter J.
    [J]. PROCEEDINGS OF THE 28TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA '19), 2019, : 352 - 362
  • [5] Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique
    Kahlon, Vineet
    Wang, Chao
    Gupta, Aarti
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2009, 5643 : 398 - 413
  • [6] Optimal dynamic partial order reduction with context-sensitive independence and observers
    Albert, Elvira
    de la Banda, Maria Garcia
    Gomez-Zamalloa, Miguel
    Isabel, Miguel
    Stuckey, Peter
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 202
  • [7] Constrained Dynamic Partial Order Reduction
    Albert, Elvira
    Gomez-Zamalloa, Miguel
    Isabel, Miguel
    Rubio, Albert
    [J]. COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 : 392 - 410
  • [8] Distributed dynamic partial order reduction
    Yang Y.
    Chen X.
    Gopalakrishnan G.
    Kirby R.M.
    [J]. International Journal on Software Tools for Technology Transfer, 2010, 12 (2) : 113 - 122
  • [9] Quasi-optimal partial order reduction
    Camille Coti
    Laure Petrucci
    César Rodríguez
    Marcelo Sousa
    [J]. Formal Methods in System Design, 2021, 57 : 3 - 33
  • [10] Quasi-Optimal Partial Order Reduction
    Nguyen, Huyen T. T.
    Rodriguez, Cesar
    Sousa, Marcelo
    Coti, Camille
    Petrucci, Laure
    [J]. COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 : 354 - 371