Counterexamples in Model Checking – A Survey
Loading...
Date
2018-09
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Université de M'sila
Abstract
Model checking is a formal method used for the verification of finite-state systems. Given a system model
and such specification, which is a set of formal properties, the model checker verifies whether or not
the model meets the specification. One of the major advantages of model checking over other formal
methods its ability to generate a counterexample when the model falsifies the specification. Although the
main purpose of the counterexample is to help the designer to find the source of the error in complex
systems design, the counterexample has been also used for many other purposes, either in the context of
model checking itself or in other domains in which model checking is used. In this paper, we will survey
algorithms for counterexample generation, from classical algorithms in graph theory to novel algorithms
for producing small and indicative counterexamples. We will also show how counterexamples are useful
for debugging, and how we can benefit from delivering counterexamples for other purposes.
Povzetek: Pregledni ˇclanek se ukvarja s protiprimeri v formalni metodi za preverjanje konˇcnih avtomatov,
tj. sistemov manjše raˇcunske moˇci kot Turingovi stroji. Protiprimeri koristijo snovalcem na veˇc naˇcinom,
predvsem kot naˇcin preverjanja pravilnosti delovanja.
Description
Keywords
model checking, counterexamples, debugging