Skip to main navigation Skip to search Skip to main content

Lazy model checking for recursive state machines

Clemens Dubslaff*, Patrick Wienhöft*, Ansgar Fehnker

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

9 Downloads (Pure)

Abstract

Recursive state machines (RSMs) are state-based models for procedural programs with wide-ranging applications in program verification and interprocedural analysis. Model-checking algorithms for RSMs and related formalisms have been intensively studied in the literature. In this article, we devise a new model-checking algorithm for RSMs and requirements in computation tree logic (CTL) that exploits the compositional structure of RSMs by ternary model checking in combination with a lazy evaluation scheme. Specifically, a procedural component is only analyzed in those cases in which it might influence the satisfaction of the CTL requirement. We implemented our model-checking algorithms and evaluate them on randomized scalability benchmarks and on an interprocedural data-flow analysis of Java programs, showing both practical applicability and significant speedups in comparison to state-of-the-art model-checking tools for procedural programs.

Original languageEnglish
Pages (from-to)369-401
Number of pages33
JournalSoftware and Systems Modeling
Volume23
Issue number2
DOIs
Publication statusPublished - Apr 2024

Bibliographical note

Copyright the Author(s) 2024. Version archived for private and non-commercial use with the permission of the author/s and according to publisher conditions. For further rights please contact the publisher.

Keywords

  • computation tree logic
  • interprocedural static analysis
  • lazy verification
  • model checking
  • recursive state machines

Fingerprint

Dive into the research topics of 'Lazy model checking for recursive state machines'. Together they form a unique fingerprint.

Cite this