Extracting Safe Thread Schedules from Incomplete Model Checking Results

Metzler, Patrick and Suri, Neeraj and Weissenbacher, Georg (2020) Extracting Safe Thread Schedules from Incomplete Model Checking Results. International Journal on Software Tools for Technology Transfer, 22. pp. 565-581. ISSN 1433-2779

[thumbnail of patrick-extracting20]
Text (patrick-extracting20)
patrick_extracting20.pdf - Accepted Version
Available under License Creative Commons Attribution.

Download (497kB)

Abstract

Model checkers frequently fail to completely verify a concurrent program, even if partial-order reduction is applied. The verification engineer is left in doubt whether the program is safe and the effort toward verifying the program is wasted. We present a technique that uses the results of such incomplete verification attempts to construct a (fair) scheduler that allows the safe execution of the partially verified concurrent program. This scheduler restricts the execution to schedules that have been proven safe (and prevents executions that were found to be erroneous). We evaluate the performance of our technique and show how it can be improved using partial-order reduction. While constraining the scheduler results in a considerable performance penalty in general, we show that in some cases our approach—somewhat surprisingly—even leads to faster executions.

Item Type:
Journal Article
Journal or Publication Title:
International Journal on Software Tools for Technology Transfer
Uncontrolled Keywords:
/dk/atira/pure/subjectarea/asjc/1400/1403
Subjects:
?? software verificationmodel checkingconcurrencynondeterministic schedulingbusiness and international managementaccountingengineering(all)softwareinformation systems ??
ID Code:
154291
Deposited By:
Deposited On:
27 Apr 2021 11:25
Refereed?:
Yes
Published?:
Published
Last Modified:
10 Jan 2024 00:29