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

📅 2025-06-05
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
This work addresses three fundamental challenges in model checking—insufficient precision, state-space explosion, and spurious counterexamples—by systematically reducing model checking to program verification. Methodologically, we design MOKA, a domain-specific language that encodes ACTL and universal μ-calculus formulas as programs; within an abstract interpretation framework, we construct a Kleene algebraic semantic model and introduce locally complete abstractions coupled with counterexample-guided dynamic domain refinement, synergistically combining under-approximation and abstraction for controllable precision enhancement. Our contributions are threefold: (1) the first rigorous reduction of model checking to program verification under abstract interpretation; (2) support for non-partitioning abstractions, significantly reducing false positives; and (3) theoretical guarantees for complete detection of violating initial states. The resulting analyzer is general-purpose and precision-tunable.

Technology Category

Constraint Satisfaction and Optimization: Satisfiability Modulo TheoriesKnowledge Representation and Reasoning: Diagnosis and Abductive ReasoningReasoning under Uncertainty: Other Foundations of Reasoning under Uncertainty

Application Category

Graph Algorithms and Modeling for the Web: Algorithms and analysis for incomplete, noisy, or partially observed Web-related graphsSemantics and Knowledge: Methods, algorithms and applications for the development of semantic models, knowledge graphs and other forms of structured data models with machine-interpretable semanticsUser Modeling, Personalization and Recommendation: Attacks and countermeasures in recommendation systems
📝 Abstract
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.
Problem

Research questions and friction points this paper is trying to address.

Model checking as program verification via abstract interpretation
Encoding temporal logics into MOKA programs for state analysis
Reducing false alarms using under-approximation and dynamic refinement
Innovation

Methods, ideas, or system contributions that make the work stand out.

Encodes temporal formulae as MOKA programs
Applies abstract interpretation to MOKA programs
Uses counterexample-guided domain refinement
🔎 Similar Papers
No similar papers found.