Minimal Automaton Generation for Compositional Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The state-explosion problem in compositional verification of hardware and software systems hinders the efficient verification of complex systems, as existing methods lack effective state space reduction and often result in trivial solutions that do not provide significant benefits over simple minimization.
Innovation Solution
A method using a sampling approach and Boolean Satisfiability solver to compute a minimal deterministic finite automaton that separates two languages, iteratively generating sample strings and employing Decision Tree Learning to generalize the automaton, thereby addressing the state-explosion problem and providing exact minimal intermediate assertions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the L* method is used to compute a separating automaton, then a polynomial-time approximation is achieved, but the method returns trivial solutions with no state space reduction benefit
Solution Approach 1:
The patent replaces the iterative sampling and approximation mechanism of the L* method with a direct Boolean Satisfiability (SAT) solver approach. Instead of mechanically iterating through samples and refining hypotheses, the system formulates the minimal separating automaton problem as a SAT instance, allowing exact solution through logical inference rather than approximate mechanical iteration.
Solution Approach 2:
The patent changes the fundamental parameter of the computation from approximate polynomial-time sampling to exact exponential-time SAT solving. By transforming the problem parameters and acceptance criteria, the system achieves exact minimal solutions rather than approximate ones, directly addressing the quality issue while maintaining computational feasibility through modern SAT solver capabilities.
2Reliability
If model checking is used for formal verification, then exhaustive exploration of all states is achieved, but state-explosion problem occurs with increasing system complexity
Solution Approach 1:
The patent extracts only the essential separating behavior from the full system model by computing a minimal separating automaton that captures precisely the distinction between languages L1 and L2. This extraction eliminates redundant states and transitions present in the complete model checking approach, achieving verification completeness for the specific compositional verification task without the full state space explosion.
Solution Approach 2:
The patent segments the verification task into computing a separate minimal automaton for the assumption rather than exploring the entire product state space of M1 and M2. By dividing the verification problem into this focused subtask of finding the separating assumption, the system avoids the combinatorial state explosion of full model checking while maintaining the ability to verify compositional properties.
3Measurement precision
If logical inference approach is used for formal verification, then mathematical reasoning about system properties is achieved, but the approach is partially automated and efficiency depends on user knowledge
Solution Approach 1:
The patent enables the verification system to automatically generate minimal separating assumptions without requiring user expertise in constructing inductive invariants or separating automata. The SAT-based formulation automatically performs the mathematical reasoning and optimization that previously required skilled user intervention, making the powerful logical inference capabilities self-executing and fully automated.
Data Source
AI summary
Disclosed are methods, systems, and computer program products for computing an exact minimal automaton to act as an intermediate assertion in assume-guarantee reasoning. In one embodiment, the computing an exact minimal automaton is performed by using a sampling approach and a Boolean satisfiability. The methods described herein may be used as part of a tool for formal verification.


