Modular Verification of Concurrent Programs via Sequential Model Checking

Dan Rasin*, Orna Grumberg, Sharon Shoham

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

This work utilizes the plethora of work on verification of sequential programs for the purpose of verifying concurrent programs. We reduce the verification of a concurrent program to a series of verification tasks of sequential programs. Our approach is modular in the sense that each sequential verification task roughly corresponds to the verification of a single thread, with some additional information about the environment in which it operates. Information regarding the environment is gathered during the run of the algorithm, by need. While our approach is general, it specializes on concurrent programs where the threads are structured hierarchically. The idea is to exploit the hierarchy in order to minimize the amount of information that needs to be transferred between threads. To that end, we verify one of the threads, considered “main”, as a sequential program. Its verification process initiates queries to its “environment” (which may contain multiple threads). Those queries are answered by sequential verification, if the environment consists of a single thread, or, otherwise, by applying the same hierarchical algorithm on the environment. Our technique is fully automatic, and allows us to use any off-the-shelf sequential model checker. We implemented our technique in a tool called CoMuS and evaluated it against established tools for concurrent verification. Our experiments show that it works particularly well on hierarchically structured programs.

Original languageEnglish
Title of host publicationAutomated Technology for Verification and Analysis - 16th International Symposium, ATVA 2018, Proceedings
EditorsChao Wang, Shuvendu K. Lahiri
PublisherSpringer Verlag
Pages228-247
Number of pages20
ISBN (Print)9783030010898
DOIs
StatePublished - 2018
Event16th International Symposium on Automated Technology for Verification and Analysis, ATVA 2018 - Los Angeles, United States
Duration: 7 Oct 201810 Oct 2018

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume11138 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference16th International Symposium on Automated Technology for Verification and Analysis, ATVA 2018
Country/TerritoryUnited States
CityLos Angeles
Period7/10/1810/10/18

Funding

FundersFunder number
Horizon 2020 Framework Programme759102
Blavatnik Family Foundation
European Research Council
United States-Israel Binational Science Foundation2016260, 2012259
Tel Aviv University

    Fingerprint

    Dive into the research topics of 'Modular Verification of Concurrent Programs via Sequential Model Checking'. Together they form a unique fingerprint.

    Cite this