Efficient verification of concurrent systems using synchronisation analysis and SAT/SMT solving

This article investigates how the use of approximations can make the formal verification of concurrent systems scalable. We propose the idea of synchronisation analysis to automatically capture global invariants and approximate reachability. We calculate invariants on how components participate on g...

Full description

Bibliographic Details
Main Authors: Antonino, P, Gibson-Robinaon, T, Roscoe, A
Format: Journal article
Published: Association for Computing Machinery 2019
_version_ 1797058875312046080
author Antonino, P
Gibson-Robinaon, T
Roscoe, A
author_facet Antonino, P
Gibson-Robinaon, T
Roscoe, A
author_sort Antonino, P
collection OXFORD
description This article investigates how the use of approximations can make the formal verification of concurrent systems scalable. We propose the idea of synchronisation analysis to automatically capture global invariants and approximate reachability. We calculate invariants on how components participate on global system synchronisations and use a notion of consistency between these invariants to establish whether components can effectively communicate to reach some system state. Our synchronisation-analysis techniques try to show either that a system state is unreachable by demonstrating that components cannot agree on the order they participate in system rules or that a system state is unreachable by demonstrating components cannot agree on the number of times they participate on system rules. These fully automatic techniques are applied to check deadlock and local-deadlock freedom in the PairStatic framework. It extends Pair (a recent framework where we use pure pairwise analysis of components and SAT checkers to check deadlock and local-deadlock freedom) with techniques to carry out synchronisation analysis. So, not only can it compute the same local invariants that Pair does, it can leverage global invariants found by synchronisation analysis, thereby improving the reachability approximation and tightening our verifications. We implement PairStatic in our DeadlOx tool using SAT/SMT and demonstrate the improvements they create in checking (local) deadlock freedom.
first_indexed 2024-03-06T19:56:32Z
format Journal article
id oxford-uuid:25ccd99f-7cf5-45a8-9f00-deab1523eb01
institution University of Oxford
last_indexed 2024-03-06T19:56:32Z
publishDate 2019
publisher Association for Computing Machinery
record_format dspace
spelling oxford-uuid:25ccd99f-7cf5-45a8-9f00-deab1523eb012022-03-26T11:57:35ZEfficient verification of concurrent systems using synchronisation analysis and SAT/SMT solvingJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:25ccd99f-7cf5-45a8-9f00-deab1523eb01Symplectic Elements at OxfordAssociation for Computing Machinery2019Antonino, PGibson-Robinaon, TRoscoe, AThis article investigates how the use of approximations can make the formal verification of concurrent systems scalable. We propose the idea of synchronisation analysis to automatically capture global invariants and approximate reachability. We calculate invariants on how components participate on global system synchronisations and use a notion of consistency between these invariants to establish whether components can effectively communicate to reach some system state. Our synchronisation-analysis techniques try to show either that a system state is unreachable by demonstrating that components cannot agree on the order they participate in system rules or that a system state is unreachable by demonstrating components cannot agree on the number of times they participate on system rules. These fully automatic techniques are applied to check deadlock and local-deadlock freedom in the PairStatic framework. It extends Pair (a recent framework where we use pure pairwise analysis of components and SAT checkers to check deadlock and local-deadlock freedom) with techniques to carry out synchronisation analysis. So, not only can it compute the same local invariants that Pair does, it can leverage global invariants found by synchronisation analysis, thereby improving the reachability approximation and tightening our verifications. We implement PairStatic in our DeadlOx tool using SAT/SMT and demonstrate the improvements they create in checking (local) deadlock freedom.
spellingShingle Antonino, P
Gibson-Robinaon, T
Roscoe, A
Efficient verification of concurrent systems using synchronisation analysis and SAT/SMT solving
title Efficient verification of concurrent systems using synchronisation analysis and SAT/SMT solving
title_full Efficient verification of concurrent systems using synchronisation analysis and SAT/SMT solving
title_fullStr Efficient verification of concurrent systems using synchronisation analysis and SAT/SMT solving
title_full_unstemmed Efficient verification of concurrent systems using synchronisation analysis and SAT/SMT solving
title_short Efficient verification of concurrent systems using synchronisation analysis and SAT/SMT solving
title_sort efficient verification of concurrent systems using synchronisation analysis and sat smt solving
work_keys_str_mv AT antoninop efficientverificationofconcurrentsystemsusingsynchronisationanalysisandsatsmtsolving
AT gibsonrobinaont efficientverificationofconcurrentsystemsusingsynchronisationanalysisandsatsmtsolving
AT roscoea efficientverificationofconcurrentsystemsusingsynchronisationanalysisandsatsmtsolving