Skip to Content

Automated verification of parallel nested DFS

Posted on

Authors:

  • Oortwijn, Wytse
  • Huisman, Marieke
  • Joosten, Sebastiaan J.
  • van de Pol, Jaco

Published in: Tools and Algorithms for the Construction and Analysis of Systems. 26th International Conference, TACAS 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25–30, 2020, Proceedings, Part I pp 247–265

https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/465629/4/Oortwijn2020_Chapter_AutomatedVerificationOfParalle.pdf

Abstract:

Model checking algorithms are typically complex graph algorithms, whose correctness is crucial for the usability of a model checker. However, establishing the correctness of such algorithms can be challenging and is often done manually. Mechanising the verification process is crucially important, because model checking algorithms are often parallelised for efficiency reasons, which makes them even more error-prone. This paper shows how the VerCors concurrency verifier is used to mechanically verify the parallel nested depth-first search (NDFS) graph algorithm of Laarman et al. [25]. We also demonstrate how having a mechanised proof supports the easy verification of various optimisations of parallel NDFS. As far as we are aware, this is the first automated deductive verification of a multi-core model checking algorithm.

BibTeX entry:

@inproceedings{Oortwijn20,
 abstract = {Model checking algorithms are typically complex graph algorithms, whose correctness is crucial for the usability of a model checker. However, establishing the correctness of such algorithms can be challenging and is often done manually. Mechanising the verification process is crucially important, because model checking algorithms are often parallelised for efficiency reasons, which makes them even more error-prone. This paper shows how the VerCors concurrency verifier is used to mechanically verify the parallel nested depth-first search (NDFS) graph algorithm of Laarman et al. [25]. We also demonstrate how having a mechanised proof supports the easy verification of various optimisations of parallel NDFS. As far as we are aware, this is the first automated deductive verification of a multi-core model checking algorithm.},
 author = {Oortwijn, Wytse and Huisman, Marieke and Joosten, Sebastiaan JC and van de Pol, Jaco},
 bdsk-url-1 = {https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/465629/4/Oortwijn2020_Chapter_AutomatedVerificationOfParalle.pdf},
 booktitle = {Tools and Algorithms for the Construction and Analysis of Systems. 26th International Conference, TACAS 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25--30, 2020, Proceedings, Part I},
 date-added = {2021-09-18 14:47:12 -0400},
 date-modified = {2021-09-18 15:30:09 -0400},
 month = {Apr},
 organization = {Springer},
 pages = {247--265},
 title = {Automated verification of parallel nested DFS},
 url = {https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/465629/4/Oortwijn2020_Chapter_AutomatedVerificationOfParalle.pdf},
 volume = {12078},
 year = {2020}
}