Ph.D
Group : Verification of Algorithms, Languages and Systems
Verification via Model Checking of Parameterized Concurrent Programs on Weak Memory Models
Starts on 01/10/2014
Advisor : ZAIDI, Fatiha
Funding : contrat doctoral du Ministère
Affiliation : Université Paris-Saclay
Laboratory : LRI - VALS
Defended on 24/09/2018, committee :
Directrice de thèse :
- Mme. Fatiha Zaïdi (Université Paris-Sud)
Co-encadrant :
- M. Sylvain Conchon (Université Paris-Sud)
Rapporteurs :
- M. Ahmed Bouajjani (Université Paris Diderot)
- M. Dominique Méry (Université de Lorraine)
Examinateurs :
- M. Luc Maranget (INRIA Paris)
- M. Philippe Quéinnec (Toulouse INP - ENSEEIHT)
Research activities :
Abstract :
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the apparent order of memory operation does not follow the sequential consistency (SC) proposed by Leslie Lamport. Any concurrent program running on such architecture and designed with an SC model in mind may exhibit new behaviors during its execution, some of which may potentially be incorrect. For instance, a mutual exclusion algorithm, correct under an interleaving semantics, may no longer guarantee mutual exclusion when implemented on a weaker architecture.
Reasoning about the semantics of such programs is a difficult task. Moreover, most concurrent algorithms are designed for an arbitrary number of processus. We would like to ensure the correctness of concurrent algorithms, regardless of the number of processes involved. For this purpose, we rely on the Model Checking Modulo Theories (MCMT) framework, developed by Ghilardi and Ranise, which allows for the verification of safety properties of parameterized concurrent programs, that is to say, programs involving an arbitrary number of processes. We extend this technology with a theory for reasoning about weak memory models. The result of this work is an extension of the Cubicle model checker called Cubicle-W, which allows the verification of safety properties of parameterized transition systems running under a weak memory model similar to TSO.