Outer Loop Abstraction for Verifying Nested Reactive Loops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing verification techniques for reactive systems with nested loops suffer from inefficiencies due to complex loop abstractions and resource exhaustion, as they do not perform loop optimization before abstraction, leading to increased complexity and resource consumption.

Innovation Solution

A method and system for performing outer loop abstraction (OLA) that simplifies nested loops by identifying and abstracting the outer loop based on property assertions, allowing selective analysis and reducing verification time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If mathematical induction is used to perform loop abstraction for verifying reactive systems with nested loops, then verification can be performed on nested loop structures, but the abstraction becomes increasingly complex as code size and nesting depth increase, causing the verifier to run out of resources

Engineering Contradiction:
Improveability to verify nested loopsVSAvoidabstraction complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the nested loop verification problem by treating the outer loop and inner loop separately. The outer loop is analyzed for property assertions, and only relevant iterations are selected for inner loop analysis. This segmentation prevents the exponential complexity growth that would occur if all nested iterations were analyzed together, thereby resolving the contradiction between verifying nested loops and managing abstraction complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by selectively analyzing only certain iterations of the outer loop rather than all iterations. The property-directed approach identifies and focuses on iterations that are relevant to the verification property, ignoring others. This partial analysis reduces the overall complexity while maintaining verification effectiveness, resolving the resource exhaustion problem.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If standard optimizations are applied after loop abstraction, then code optimization can be achieved, but loop abstraction changes the loop behavior making standard optimizations inapplicable

Engineering Contradiction:
Improvecode optimizationVSAvoidloop behavior transformation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs loop optimization before loop abstraction, not after. By optimizing the loop structure first (e.g., removing redundant iterations, simplifying loop conditions), and then applying abstraction, the patent maintains the ability to apply standard optimizations while avoiding the problem of optimizations being inapplicable to abstracted loops. This preliminary action resolves the contradiction between achieving optimization and preserving loop behavior integrity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the outer loop is represented thrice in the induction (base case, hypothesis, and induction check), then complete verification coverage is achieved, but the code size and verification complexity increase significantly

Engineering Contradiction:
Improveverification coverageVSAvoidcode size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and eliminates redundant representations of the outer loop from the verification process. Instead of fully representing the outer loop three times in the induction, the property-directed approach identifies that certain representations are unnecessary for the given property. By taking out these redundant elements, the patent maintains verification coverage while significantly reducing code size and complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent discards redundant loop representations that do not contribute to the verification property, and recovers only the essential information needed for verification. This selective discarding and recovering approach reduces the quantity of code and data structures while preserving the necessary verification coverage, resolving the contradiction between reliability and quantity.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP4530829B1Method and system for performing outer loop abstraction for efficient verification of reactive systems
Publication Date: 2026.01.21 TATA CONSULTANCY SERVICES LTD
  • EP4530829B1 patent drawingFigure 1~2
  • EP4530829B1 patent drawingFigure 3
  • EP4530829B1 patent drawingFigure 4A

AI summary

Reactive systems commonly feature an outer infinite loop that captures environmental input and according to the inputs decides the system's response. The outer infinite loop implies that almost every reactive system contains nested loops. Existing verification techniques, such as model checking and loop abstraction methods, often struggle in terms of accuracy and efficiency in the presence of nested loops. Present disclosure provides a method and a system for performing outer loop abstraction for verification of reactive systems. The system first checks whether code in outer loop can be executed before the outer loop. Then, the system performs optimization of the outer loop. Thereafter, the system abstracts outer loop which infinitely read and process environmental input. Further, the system transforms the input code to obtain outer loop abstracted code which is then passed on to an industrial verifier for verification of the reactive system.