Optimal Dynamic Partial Order Reduction

被引:98
|
作者
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 条
  • [31] Dynamic Partial Order Reduction for Checking Correctness against Transaction Isolation Levels
    Bouajjani, Ahmed
    Enea, Constantin
    Roman-Calvo, Enrique
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (PLDI):
  • [32] Dynamic Partial Order Reduction Under the Release-Acquire Semantics (Tutorial)
    Abdulla, Parosh Aziz
    Atig, Mohamed Faouzi
    Jonsson, Bengt
    Ngo, Tuan Phong
    [J]. NETWORKED SYSTEMS, NETYS 2019, 2019, 11704 : 3 - 18
  • [33] Unfolding-Based Dynamic Partial Order Reduction of Asynchronous Distributed Programs
    The Anh Pham
    Jeron, Thierry
    Quinson, Martin
    [J]. FORMAL TECHNIQUES FOR DISTRIBUTED OBJECTS, COMPONENTS, AND SYSTEMS (FORTE 2019), 2019, 11535 : 224 - 241
  • [34] Integrating Partial Order Reduction and Symmetry Elimination for Cost-Optimal Classical Planning
    Wehrle, Martin
    Helmert, Malte
    Shleyfman, Alexander
    Katz, Michael
    [J]. PROCEEDINGS OF THE TWENTY-FOURTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE (IJCAI), 2015, : 1712 - 1718
  • [35] Ten years of partial order reduction
    Peled, D
    [J]. COMPUTER AIDED VERIFICATION, 1998, 1427 : 17 - 28
  • [36] Partial Order Reduction for Timed Actors
    Bagheri, Maryam
    Sirjani, Marjan
    Khamespanah, Ehsan
    Hojjat, Hossein
    Movaghar, Ali
    [J]. SOFTWARE VERIFICATION, 2022, 13124 : 43 - 60
  • [37] Exploring the Scope for Partial Order Reduction
    Geldenhuys, Jaco
    Hansen, Henri
    Valmari, Antti
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2009, 5799 : 39 - +
  • [38] A Geometric View of Partial Order Reduction
    Goubault, Eric
    Heindel, Tobias
    Mimram, Samuel
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2013, 298 : 179 - 195
  • [39] Partial order reduction for probabilistic systems
    Baier, C
    Grösser, M
    Ciesinski, F
    [J]. QEST 2004: FIRST INTERNATIONAL CONFERENCE ON THE QUANTITATIVE EVALUATION OF SYSTEMS, PROCEEDINGS, 2004, : 230 - 239
  • [40] Bounded Partial-Order Reduction
    Coons, Katherine E.
    Musuvathi, Madanlal
    McKinley, Kathryn S.
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (10) : 833 - 848