Verifying large modular systems using iterative abstraction refinement

Jussi Lahtinen (Corresponding Author), Tuomas Kuismin, Keijo Heljanko

Research output: Contribution to journalArticleScientificpeer-review

2 Citations (Scopus)

Abstract

Digital instrumentation and control (I&C) systems are increasingly used in the nuclear engineering domain. The exhaustive verification of these systems is challenging, and the usual verification methods such as testing and simulation are typically insufficient. Model checking is a formal method that is able to exhaustively analyse the behaviour of a model against a formally written specification. If the model checking tool detects a violation of the specification, it will give out a counter-example that demonstrates how the specification is violated in the system. Unfortunately, sometimes real life system designs are too big to be directly analysed by traditional model checking techniques. We have developed an iterative technique for model checking large modular systems. The technique uses abstraction based over-approximations of the model behaviour, combined with iterative refinement. The main contribution of the work is the concrete abstraction refinement technique based on the modular structure of the model, the dependency graph of the model, and a refinement sampling heuristic similar to delta debugging. The technique is geared towards proving properties, and outperforms BDD-based model checking, the k-induction technique, and the property directed reachability algorithm (PDR) in our experiments.
Original languageEnglish
Pages (from-to)120-130
JournalReliability Engineering and System Safety
Volume139
DOIs
Publication statusPublished - 2015
MoE publication typeA1 Journal article-refereed

Fingerprint

Model checking
Specifications
Nuclear engineering
Formal methods
Systems analysis
Concretes
Sampling
Testing
Experiments

Keywords

  • model checking
  • verification
  • validation
  • iterative abstraction refinement

Cite this

Lahtinen, Jussi ; Kuismin, Tuomas ; Heljanko, Keijo. / Verifying large modular systems using iterative abstraction refinement. In: Reliability Engineering and System Safety. 2015 ; Vol. 139. pp. 120-130.
@article{61617e8c39484118af890b0fbb23821e,
title = "Verifying large modular systems using iterative abstraction refinement",
abstract = "Digital instrumentation and control (I&C) systems are increasingly used in the nuclear engineering domain. The exhaustive verification of these systems is challenging, and the usual verification methods such as testing and simulation are typically insufficient. Model checking is a formal method that is able to exhaustively analyse the behaviour of a model against a formally written specification. If the model checking tool detects a violation of the specification, it will give out a counter-example that demonstrates how the specification is violated in the system. Unfortunately, sometimes real life system designs are too big to be directly analysed by traditional model checking techniques. We have developed an iterative technique for model checking large modular systems. The technique uses abstraction based over-approximations of the model behaviour, combined with iterative refinement. The main contribution of the work is the concrete abstraction refinement technique based on the modular structure of the model, the dependency graph of the model, and a refinement sampling heuristic similar to delta debugging. The technique is geared towards proving properties, and outperforms BDD-based model checking, the k-induction technique, and the property directed reachability algorithm (PDR) in our experiments.",
keywords = "model checking, verification, validation, iterative abstraction refinement",
author = "Jussi Lahtinen and Tuomas Kuismin and Keijo Heljanko",
note = "Project code: 102392",
year = "2015",
doi = "10.1016/j.ress.2015.03.012",
language = "English",
volume = "139",
pages = "120--130",
journal = "Reliability Engineering and System Safety",
issn = "0951-8320",
publisher = "Elsevier",

}

Verifying large modular systems using iterative abstraction refinement. / Lahtinen, Jussi (Corresponding Author); Kuismin, Tuomas; Heljanko, Keijo.

In: Reliability Engineering and System Safety, Vol. 139, 2015, p. 120-130.

Research output: Contribution to journalArticleScientificpeer-review

TY - JOUR

T1 - Verifying large modular systems using iterative abstraction refinement

AU - Lahtinen, Jussi

AU - Kuismin, Tuomas

AU - Heljanko, Keijo

N1 - Project code: 102392

PY - 2015

Y1 - 2015

N2 - Digital instrumentation and control (I&C) systems are increasingly used in the nuclear engineering domain. The exhaustive verification of these systems is challenging, and the usual verification methods such as testing and simulation are typically insufficient. Model checking is a formal method that is able to exhaustively analyse the behaviour of a model against a formally written specification. If the model checking tool detects a violation of the specification, it will give out a counter-example that demonstrates how the specification is violated in the system. Unfortunately, sometimes real life system designs are too big to be directly analysed by traditional model checking techniques. We have developed an iterative technique for model checking large modular systems. The technique uses abstraction based over-approximations of the model behaviour, combined with iterative refinement. The main contribution of the work is the concrete abstraction refinement technique based on the modular structure of the model, the dependency graph of the model, and a refinement sampling heuristic similar to delta debugging. The technique is geared towards proving properties, and outperforms BDD-based model checking, the k-induction technique, and the property directed reachability algorithm (PDR) in our experiments.

AB - Digital instrumentation and control (I&C) systems are increasingly used in the nuclear engineering domain. The exhaustive verification of these systems is challenging, and the usual verification methods such as testing and simulation are typically insufficient. Model checking is a formal method that is able to exhaustively analyse the behaviour of a model against a formally written specification. If the model checking tool detects a violation of the specification, it will give out a counter-example that demonstrates how the specification is violated in the system. Unfortunately, sometimes real life system designs are too big to be directly analysed by traditional model checking techniques. We have developed an iterative technique for model checking large modular systems. The technique uses abstraction based over-approximations of the model behaviour, combined with iterative refinement. The main contribution of the work is the concrete abstraction refinement technique based on the modular structure of the model, the dependency graph of the model, and a refinement sampling heuristic similar to delta debugging. The technique is geared towards proving properties, and outperforms BDD-based model checking, the k-induction technique, and the property directed reachability algorithm (PDR) in our experiments.

KW - model checking

KW - verification

KW - validation

KW - iterative abstraction refinement

U2 - 10.1016/j.ress.2015.03.012

DO - 10.1016/j.ress.2015.03.012

M3 - Article

VL - 139

SP - 120

EP - 130

JO - Reliability Engineering and System Safety

JF - Reliability Engineering and System Safety

SN - 0951-8320

ER -