Formal Verification of Temporal Properties Using Local Variables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The verification complexity of SystemVerilog Assertions (SVA) and Property Specification Language (PSL) formulae with local variables is EXPSPACE-complete, making formal verification impractical due to the creation of large alternating and non-deterministic Büchi automata, especially when dealing with large domains like 64-bit bus protocols.
Innovation Solution
Identifying a subset of temporal properties with no conflicts in their alternating automata, referred to as the 'practical subset', which can be formally verified with PSPACE complexity or less, involving the construction of non-deterministic and deterministic satellite machines to determine satisfaction of hardware designs against these properties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If formal verification is applied to temporal properties with local variables, then verification completeness is improved, but verification complexity increases to EXPSPACE-complete making it infeasible
Solution Approach 1:
The patent segments the verification problem by identifying a subset of temporal properties (practical subset) that can be verified with PSPACE complexity. This segmentation separates verifiable properties from unverified ones, allowing formal verification to be applied selectively to a manageable portion of properties while maintaining completeness for that subset.
Solution Approach 2:
The patent changes the complexity parameter from EXPSPACE to PSPACE by restricting verification to properties without conflicts in their alternating automata. This parameter change enables feasible verification by transforming the complexity class, making previously infeasible verification problems now solvable within PSPACE resources.
2Adaptability or versatility
If alternating automaton is constructed for temporal properties with local variables, then property coverage is improved, but automaton size becomes exponentially large making verification infeasible
Solution Approach 1:
The patent extracts the problematic aspect (conflicts in alternating automata) and excludes properties with conflicts from the verification scope. By taking out the conflicting properties, the remaining practical subset can be verified with manageable automaton sizes, achieving feasibility while maintaining coverage for a significant portion of properties.
Solution Approach 2:
The patent applies partial verification by focusing only on the practical subset of properties that can be verified with PSPACE complexity. This partial action approach verifies a manageable portion of properties thoroughly rather than attempting to verify all properties with excessive computational resources.
3Adaptability or versatility
If local variables with large domains are used, then assertion capability is improved, but verification becomes infeasible due to exponential state space
Solution Approach 1:
The patent introduces dynamics by adapting the verification approach based on the property structure. Properties without conflicts in their alternating automata are verified using efficient PSPACE methods, while properties with conflicts are excluded. This dynamic adaptation maintains verification feasibility while preserving the ability to handle diverse property types.
Data Source
AI summary
A certain subset of temporal properties defined using local variables can be formally verified with complexity of PSPACE or less. A subset with this characteristic, referred to as a practical subset, is therefore feasible to formally verify. For example, it can be shown that temporal properties that possess an alternating automaton with no conflicts fall within a practical subset. Temporal properties are analyzed to determine whether they are a member of the practical subset. Members of the practical subset can then be feasibly formally verified.


