Be Lazy and Don’t Care: Faster CTL Model Checking for Recursive State Machines

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

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 and various temporal logic specifications have been intensively studied in the literature. In this paper, 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 evaluate our prototypical implementation 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

Original languageEnglish
Title of host publicationSoftware Engineering and Formal Methods - 19th International Conference, SEFM 2021, Proceedings
EditorsRadu Calinescu, Corina S. Păsăreanu
PublisherSpringer, Cham
Pages332–350
Number of pages19
ISBN (print)978-3-030-92124-8
Publication statusPublished - 6 Dec 2021
Peer-reviewedYes

Publication series

SeriesLecture Notes in Computer Science, Volume 13085
ISSN0302-9743

External IDs

ORCID /0000-0001-8047-4094/work/143075252
Scopus 85121907388

Keywords

DFG Classification of Subject Areas according to Review Boards

Subject groups, research areas, subject areas according to Destatis