Lazy model checking for recursive state machines

Publikation: Beitrag in FachzeitschriftForschungsartikelBeigetragenBegutachtung

Beitragende

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.

Details

OriginalspracheEnglisch
FachzeitschriftSoftware and systems modeling
PublikationsstatusVeröffentlicht - 20 März 2024
Peer-Review-StatusJa

Externe IDs

Scopus 85188171011
Mendeley fc9e6c12-b51f-3876-8ddd-f2d9f6b12cc9

Schlagworte

Schlagwörter

  • Interprocedural static analysis, Model checking, Computation tree logic, Lazy verification, Recursive state machines