Exchanging Verification Witnesses between Verifiers
Author:
Abstract
Standard verification tools provide a counterexample to witness a specifica- tion violation. Since a few years, such a witness can be validated by an independent validator using an exchangeable witness format. This way, information about the violation can be shared across verifiers and the user can use standard tools to visualize and explore witnesses. This technique is not yet established for the correctness case, where a program fulfills a specification. Even for simple programs, users often struggle to comprehend why a program is correct, and there is no way to independently check the verification result. We recently closed this gap by complementing our earlier work on violation witnesses with correctness witnesses. The overall goal to make proofs avail- able to engineers is probably as old as programming itself, and proof-carrying code was proposed two decades ago — our goal is to make it practical: We consider witnesses as first-class exchangeable objects, stored independently from the source code and checked independently from the verifier that produced them, respecting the principle of separation of concerns. At any time, the correctness witness can be used to recon- struct a correctness proof to establish trust. We extended two state-of-the-art verifiers, CPACHECKER and ULTIMATEAUTOMIZER, to produce and validate witnesses.
- Citation
- BibTeX
Beyer, D., Dangl, M., Dietsch, D. & Heizmann, M.,
(2017).
Exchanging Verification Witnesses between Verifiers.
In:
Jürjens, J. & Schneider, K.
(Hrsg.),
Software Engineering 2017.
Bonn:
Gesellschaft für Informatik e.V..
(S. 93).
@inproceedings{mci/Beyer2017,
author = {Beyer, Dirk AND Dangl, Matthias AND Dietsch, Daniel AND Heizmann, Matthias},
title = {Exchanging Verification Witnesses between Verifiers},
booktitle = {Software Engineering 2017},
year = {2017},
editor = {Jürjens, Jan AND Schneider, Kurt} ,
pages = { 93 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
author = {Beyer, Dirk AND Dangl, Matthias AND Dietsch, Daniel AND Heizmann, Matthias},
title = {Exchanging Verification Witnesses between Verifiers},
booktitle = {Software Engineering 2017},
year = {2017},
editor = {Jürjens, Jan AND Schneider, Kurt} ,
pages = { 93 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
Dateien | Groesse | Format | Anzeige | |
---|---|---|---|---|
paper35.pdf | 85.25Kb | View/ |
Haben Sie fehlerhafte Angaben entdeckt? Sagen Sie uns Bescheid: Send Feedback
More Info
ISBN: 978-3-88579-661-9
ISSN: 1617-5468
xmlui.MetaDataDisplay.field.date: 2017
Language:
(en)

Content Type: Text/Conference Paper