Model Checking as Program Verification by Abstract Interpretation (Extended Version)

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Baldan, Paolo, Bruni, Roberto, Ranzato, Francesco, Rigo, Diletta
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866910990351728640
author Baldan, Paolo
Bruni, Roberto
Ranzato, Francesco
Rigo, Diletta
author_facet Baldan, Paolo
Bruni, Roberto
Ranzato, Francesco
Rigo, Diletta
contents Abstract interpretation offers a powerful toolset for static analysis, tackling precision, complexity and state-explosion issues. In the literature, state partitioning abstractions based on (bi)simulation and property-preserving state relations have been successfully applied to abstract model checking. Here, we pursue a different track in which model checking is seen as an instance of program verification. To this purpose, we introduce a suitable language-called MOKA (for MOdel checking as abstract interpretation of Kleene Algebras)-which is used to encode temporal formulae as programs. In particular, we show that (universal fragments of) temporal logics, such as ACTL or, more generally, universal mu-calculus can be transformed into MOKA programs. Such programs return all and only the initial states which violate the formula. By applying abstract interpretation to MOKA programs, we pave the way for reusing more general abstractions than partitions as well as for tuning the precision of the abstraction to remove or avoid false alarms. We show how to perform model checking via a program logic that combines under-approximation and abstract interpretation analysis to avoid false alarms. The notion of locally complete abstraction is used to dynamically improve the analysis precision via counterexample-guided domain refinement.
format Preprint
id arxiv_https___arxiv_org_abs_2506_05525
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Model Checking as Program Verification by Abstract Interpretation (Extended Version)
Baldan, Paolo
Bruni, Roberto
Ranzato, Francesco
Rigo, Diletta
Logic in Computer Science
Abstract interpretation offers a powerful toolset for static analysis, tackling precision, complexity and state-explosion issues. In the literature, state partitioning abstractions based on (bi)simulation and property-preserving state relations have been successfully applied to abstract model checking. Here, we pursue a different track in which model checking is seen as an instance of program verification. To this purpose, we introduce a suitable language-called MOKA (for MOdel checking as abstract interpretation of Kleene Algebras)-which is used to encode temporal formulae as programs. In particular, we show that (universal fragments of) temporal logics, such as ACTL or, more generally, universal mu-calculus can be transformed into MOKA programs. Such programs return all and only the initial states which violate the formula. By applying abstract interpretation to MOKA programs, we pave the way for reusing more general abstractions than partitions as well as for tuning the precision of the abstraction to remove or avoid false alarms. We show how to perform model checking via a program logic that combines under-approximation and abstract interpretation analysis to avoid false alarms. The notion of locally complete abstraction is used to dynamically improve the analysis precision via counterexample-guided domain refinement.
title Model Checking as Program Verification by Abstract Interpretation (Extended Version)
topic Logic in Computer Science
url https://arxiv.org/abs/2506.05525