Deductive techniques for model-based concurrency verification. Oortwijn, W. Ph.D. Thesis, University of Twente, Netherlands, 12, 2019.
Deductive techniques for model-based concurrency verification [link]Paper  doi  abstract   bibtex   2 downloads  
This thesis contributes formal techniques for verifying global behavioural properties of real-world concurrent software in a sound and practical manner.The first part of this thesis discusses how Concurrent Separation Logic (CSL) can be used to mechanically verify the parallel nested depth-first search (NDFS) model checking algorithm. This verification has been performed using VerCors. We also demonstrate how our mechanized correctness proof allows verifying various optimisations of parallel NDFS with only little extra effort.The second part contributes an abstraction technique for verifying global behavioural properties of shared-memory concurrent software. This abstraction technique allows specifying program behavior as a process-algebraic model, with an elegant algebraic structure. Furthermore, we extend CSL with logical primitives that allow one to prove that a program refines its process-algebraic specification. This abstraction technique is proven sound using Coq and is implemented in VerCors. We demonstrate our approach on various examples, including a real-world case study from industry that concerns safety-critical code.In part three, we lift our abstraction technique to the distributed case, by adapting it for verifying message passing concurrent software. This adaptation uses process-algebraic specifications to abstract the communication behavior of distributed agents. We also investigate how model checking of these specifications can soundly be combined with the deductive verification of the specified program.
@phdthesis{eed8e862be3a4fe785a4e94855d13674,
title = "Deductive techniques for model-based concurrency verification",
abstract = "This thesis contributes formal techniques for verifying global behavioural properties of real-world concurrent software in a sound and practical manner.The first part of this thesis discusses how Concurrent Separation Logic (CSL) can be used to mechanically verify the parallel nested depth-first search (NDFS) model checking algorithm. This verification has been performed using VerCors. We also demonstrate how our mechanized correctness proof allows verifying various optimisations of parallel NDFS with only little extra effort.The second part contributes an abstraction technique for verifying global behavioural properties of shared-memory concurrent software. This abstraction technique allows specifying program behavior as a process-algebraic model, with an elegant algebraic structure. Furthermore, we extend CSL with logical primitives that allow one to prove that a program refines its process-algebraic specification. This abstraction technique is proven sound using Coq and is implemented in VerCors. We demonstrate our approach on various examples, including a real-world case study from industry that concerns safety-critical code.In part three, we lift our abstraction technique to the distributed case, by adapting it for verifying message passing concurrent software. This adaptation uses process-algebraic specifications to abstract the communication behavior of distributed agents. We also investigate how model checking of these specifications can soundly be combined with the deductive verification of the specified program.",
author = "Oortwijn, {Wytse Hendrikus Marinus}",
year = "2019",
month = "12",
day = "12",
doi = "10.3990/1.9789036548984",
language = "English",
isbn = "978-90-365-4898-4",
series = "DSI Ph.D. Thesis Series",
publisher = "University of Twente",
number = "19-021",
address = "Netherlands",
school = "University of Twente",
url="https://doi.org/10.3990/1.9789036548984"
}

Downloads: 2