Home > Research > Publications & Outputs > Extracting Safe Thread Schedules from Incomplet...

Electronic data

  • patrick-extracting20

    Accepted author manuscript, 485 KB, PDF document

    Available under license: CC BY: Creative Commons Attribution 4.0 International License

Links

Text available via DOI:

View graph of relations

Extracting Safe Thread Schedules from Incomplete Model Checking Results

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Extracting Safe Thread Schedules from Incomplete Model Checking Results. / Metzler, Patrick; Suri, Neeraj; Weissenbacher, Georg.
In: International Journal on Software Tools for Technology Transfer, Vol. 22, 31.10.2020, p. 565-581.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Metzler, P, Suri, N & Weissenbacher, G 2020, 'Extracting Safe Thread Schedules from Incomplete Model Checking Results', International Journal on Software Tools for Technology Transfer, vol. 22, pp. 565-581. https://doi.org/10.1007/s10009-020-00575-y

APA

Metzler, P., Suri, N., & Weissenbacher, G. (2020). Extracting Safe Thread Schedules from Incomplete Model Checking Results. International Journal on Software Tools for Technology Transfer, 22, 565-581. https://doi.org/10.1007/s10009-020-00575-y

Vancouver

Metzler P, Suri N, Weissenbacher G. Extracting Safe Thread Schedules from Incomplete Model Checking Results. International Journal on Software Tools for Technology Transfer. 2020 Oct 31;22:565-581. Epub 2020 Jun 26. doi: 10.1007/s10009-020-00575-y

Author

Metzler, Patrick ; Suri, Neeraj ; Weissenbacher, Georg. / Extracting Safe Thread Schedules from Incomplete Model Checking Results. In: International Journal on Software Tools for Technology Transfer. 2020 ; Vol. 22. pp. 565-581.

Bibtex

@article{45c87291e5a643989bebaaa856edd8cb,
title = "Extracting Safe Thread Schedules from Incomplete Model Checking Results",
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.",
keywords = "Software verification, Model checking, Concurrency, Nondeterministic scheduling",
author = "Patrick Metzler and Neeraj Suri and Georg Weissenbacher",
year = "2020",
month = oct,
day = "31",
doi = "10.1007/s10009-020-00575-y",
language = "English",
volume = "22",
pages = "565--581",
journal = "International Journal on Software Tools for Technology Transfer",
issn = "1433-2779",
publisher = "Springer Verlag",

}

RIS

TY - JOUR

T1 - Extracting Safe Thread Schedules from Incomplete Model Checking Results

AU - Metzler, Patrick

AU - Suri, Neeraj

AU - Weissenbacher, Georg

PY - 2020/10/31

Y1 - 2020/10/31

N2 - 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.

AB - 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.

KW - Software verification

KW - Model checking

KW - Concurrency

KW - Nondeterministic scheduling

U2 - 10.1007/s10009-020-00575-y

DO - 10.1007/s10009-020-00575-y

M3 - Journal article

VL - 22

SP - 565

EP - 581

JO - International Journal on Software Tools for Technology Transfer

JF - International Journal on Software Tools for Technology Transfer

SN - 1433-2779

ER -