Dynamic Partial Order Reduction Under the Release-Acquire Semantics (Tutorial)

We describe at a high-level the main concepts in the Release-Acquire (RA) semantics that is part of the C11 language. Furthermore, we describe the ideas behind an optimal dynamic partial order reduction technique that can be used for systematic analysis of concurrent programs running under RA.

[1]  Konstantinos Sagonas,et al.  Stateless model checking of the Linux kernel's hierarchical read-copy-update (tree RCU) , 2017, SPIN.

[2]  Parosh Aziz Abdulla,et al.  Stateless Model Checking for POWER , 2016, CAV.

[3]  Parosh Aziz Abdulla,et al.  Stateless Model Checking for TSO and PSO , 2015, TACAS.

[4]  Edmund M. Clarke,et al.  State space reduction using partial order techniques , 1999, International Journal on Software Tools for Technology Transfer.

[5]  Doron A. Peled,et al.  All from One, One for All: on Model Checking Using Representatives , 1993, CAV.

[6]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[7]  Thomas Ball,et al.  Finding and Reproducing Heisenbugs in Concurrent Programs , 2008, OSDI.

[8]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[9]  Chao Wang,et al.  Dynamic partial order reduction for relaxed memory models , 2015, PLDI.

[10]  Parosh Aziz Abdulla,et al.  A General Approach to Partial Order Reductions in Symbolic Verification (Extended Abstract) , 1998, CAV.

[11]  Parosh Aziz Abdulla,et al.  Verification of probabilistic systems with faulty communication , 2005, Inf. Comput..

[12]  Parosh Aziz Abdulla,et al.  An Improved Search Strategy for Lossy Channel Systems , 1997, FORTE.

[13]  Parosh Aziz Abdulla,et al.  Correction to: An integrated specification and verification technique for highly concurrent data structures , 2013, TACAS.

[14]  Antti Valmari,et al.  Stubborn sets for reduced state space generation , 1991, Applications and Theory of Petri Nets.

[15]  Ori Lahav,et al.  Taming release-acquire consistency , 2016, POPL.

[16]  Patrice Godefroid,et al.  Model checking for programming languages using VeriSoft , 1997, POPL '97.

[17]  Thomas A. Henzinger,et al.  Handbook of Model Checking , 2018, Springer International Publishing.

[18]  Antoni W. Mazurkiewicz,et al.  Trace Theory , 1986, Advances in Petri Nets.

[19]  Jeff Huang,et al.  Stateless model checking concurrent programs with maximal causality reduction , 2015, PLDI.

[20]  Brian Demsky,et al.  A Practical Approach for Model Checking C/C++11 Code , 2016, TOPL.

[21]  Parosh Aziz Abdulla,et al.  Optimal stateless model checking under the release-acquire semantics , 2018, Proc. ACM Program. Lang..

[22]  Johann Deneux,et al.  Multi-clock timed networks , 2004, LICS 2004.

[23]  Patrice Godefroid,et al.  Dynamic partial-order reduction for model checking software , 2005, POPL '05.

[24]  Keijo Heljanko,et al.  Improving Dynamic Partial Order Reductions for Concolic Testing , 2012, 2012 12th International Conference on Application of Concurrency to System Design.

[25]  Koushik Sen,et al.  A Race-Detection and Flipping Algorithm for Automated Testing of Multi-threaded Programs , 2006, Haifa Verification Conference.

[26]  Patrick Lam,et al.  SATCheck: SAT-directed stateless model checking for SC and TSO , 2015, OOPSLA.

[27]  Alkis Gotovos,et al.  Systematic Testing for Detecting Concurrency Errors in Erlang Programs , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[28]  Parosh Aziz Abdulla,et al.  Deciding Monotonic Games , 2003, CSL.

[29]  Krishnendu Chatterjee,et al.  Data-centric dynamic partial order reduction , 2016, Proc. ACM Program. Lang..

[30]  Parosh Aziz Abdulla,et al.  Optimal dynamic partial order reduction , 2014, POPL.

[31]  Jeff Huang,et al.  Maximal causality reduction for TSO and PSO , 2016, OOPSLA.

[32]  Daniel Kroening,et al.  Unfolding-based Partial Order Reduction , 2015, CONCUR.

[33]  Ori Lahav,et al.  Effective stateless model checking for C/C++ concurrency , 2017, Proc. ACM Program. Lang..

[34]  Robert S. Hanmer,et al.  Model checking without a model: an analysis of the heart-beat monitor of a telephone switch using VeriSoft , 1998, ISSTA '98.

[35]  Parosh Aziz Abdulla,et al.  Monotonic Abstraction for Programs with Dynamic Memory Heaps , 2008, CAV.

[36]  Parosh Aziz Abdulla,et al.  Source Sets , 2017, J. ACM.

[37]  Patrice Godefroid,et al.  Software Model Checking: The VeriSoft Approach , 2005, Formal Methods Syst. Des..