Table of Contents
Fetching ...

Infinite State Model Checking by Learning Transitive Relations

Florian Frohn, Jürgen Giesl

TL;DR

The paper tackles safety verification for infinite-state systems by extending the analyzed model with learned transitive relations, reducing the reachability diameter $D$ so that safety reduces to checking the absence of error states within $D$ steps. It introduces Transitive Relation Learning (TRL), a bounded-model-checking-based framework that unrolls transitions, detects loops, and learns transitive (often disjunctive) relations via transitive projections and conjunctive variable projections, guided by blocking clauses to bias the search toward learned relations. For linear integer arithmetic, TP is instantiated via a recurrence-analysis-inspired procedure that uses CVP to compute concise, state-transition descriptions; TRL can also prove unsafety by applying acceleration to learned transitions. Empirical results in LoAT show TRL is highly competitive with state-of-the-art interpolation-based methods, while avoiding interpolation fragility and offering complementary proof power, with open-source availability for broader use.

Abstract

We propose a new approach for proving safety of infinite state systems. It extends the analyzed system by transitive relations until its diameter D becomes finite, i.e., until constantly many steps suffice to cover all reachable states, irrespective of the initial state. Then we can prove safety by checking that no error state is reachable in D steps. To deduce transitive relations, we use recurrence analysis. While recurrence analyses can usually find conjunctive relations only, our approach also discovers disjunctive relations by combining recurrence analysis with projections. An empirical evaluation of the implementation of our approach in our tool LoAT shows that it is highly competitive with the state of the art.

Infinite State Model Checking by Learning Transitive Relations

TL;DR

The paper tackles safety verification for infinite-state systems by extending the analyzed model with learned transitive relations, reducing the reachability diameter so that safety reduces to checking the absence of error states within steps. It introduces Transitive Relation Learning (TRL), a bounded-model-checking-based framework that unrolls transitions, detects loops, and learns transitive (often disjunctive) relations via transitive projections and conjunctive variable projections, guided by blocking clauses to bias the search toward learned relations. For linear integer arithmetic, TP is instantiated via a recurrence-analysis-inspired procedure that uses CVP to compute concise, state-transition descriptions; TRL can also prove unsafety by applying acceleration to learned transitions. Empirical results in LoAT show TRL is highly competitive with state-of-the-art interpolation-based methods, while avoiding interpolation fragility and offering complementary proof power, with open-source availability for broader use.

Abstract

We propose a new approach for proving safety of infinite state systems. It extends the analyzed system by transitive relations until its diameter D becomes finite, i.e., until constantly many steps suffice to cover all reachable states, irrespective of the initial state. Then we can prove safety by checking that no error state is reachable in D steps. To deduce transitive relations, we use recurrence analysis. While recurrence analyses can usually find conjunctive relations only, our approach also discovers disjunctive relations by combining recurrence analysis with projections. An empirical evaluation of the implementation of our approach in our tool LoAT shows that it is highly competitive with the state of the art.

Paper Structure

This paper contains 13 sections, 2 theorems, 56 equations, 1 figure, 2 algorithms.

Key Result

theorem 1

If $\text{TRL}(\mathcal{T})$ returns $\mathsf{safe}$, then $\mathcal{T}$ is safe.

Figures (1)

  • Figure :

Theorems & Definitions (17)

  • definition 1: Conjunctive Variable Projection
  • remark 1: $\mathsf{cvp}$ and $\mathsf{mbp}$
  • remark 2: $\mathsf{cvp}$ and Quantifier Elimination
  • definition 2: Trace
  • definition 3: Loop
  • remark 3: Finding Loops
  • remark 4: Disregarding "Learned" Loops
  • definition 4: Redundancy
  • definition 5: Transitive Projection
  • remark 5: Properties of $\mathsf{tp}$
  • ...and 7 more