Skip to main navigation Skip to search Skip to main content

Unfolding state variables improves model checking performance

Research output: Contribution to journalArticleAcademicpeer-review

60 Downloads (Pure)

Abstract

When describing the behavior of systems, state variables are typically modeled using complex data types. This use of data types allows for concise models that are easy to read. However, model checking tools that aim to automatically establish the correctness of such models use static analyses of state variables to improve their performance. Therefore, the use of complex data types in behavioral models negatively affects the performance of model checking tools. To address this, in this article we revisit a technique by Groote and Lisser that can be used to replace a single state variable of a complex data type by multiple state variables of simpler data types. We introduce and study several extensions in the context of the process algebraic specification language mCRL2, and establish their correctness. We demonstrate that our technique typically reduces the verification times when using symbolic model checking, and show that sometimes it enables static analysis to reduce the underlying state space from infinite to finite.

Original languageEnglish
Article number115181
Number of pages28
JournalTheoretical Computer Science
Volume1038
DOIs
Publication statusPublished - 22 May 2025

Bibliographical note

Publisher Copyright:
© 2025 The Author(s)

Keywords

  • Algebraic data types
  • Model checking
  • Process algebra
  • Static analysis

Fingerprint

Dive into the research topics of 'Unfolding state variables improves model checking performance'. Together they form a unique fingerprint.

Cite this