Counterexamples in Model Checking – A Survey

Loading...
Thumbnail Image

Date

2018-09

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

Citation

Collections