Rule-Driven System Testing via Conflict Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Rule-driven applications (RDAs) based on rule-based expert systems (RBESs) face challenges in identifying and resolving non-deterministic behavior and conflicts, particularly read-write and write-write conflicts, which complicate testing and lead to unreliable outcomes due to the complexity of rule interactions and inherent non-determinism.

Innovation Solution

A method that combines data-flow analysis and symbolic execution to detect potential conflicts by constructing a system dependence graph, mapping rules to a domain-specific language like JAVA, and executing test cases to validate conflicts, thereby identifying and reporting potential errors and conflicts with high precision and automation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If rule execution logic and high-level declarative rules are completely separated in rule development, then developers can avoid low-level details and add new rules without laborious changes to underlying logic, but non-deterministic behavior and conflicts between rules become harder to detect and resolve

Engineering Contradiction:
Improveease of rule developmentVSAvoidpredictability of rule execution
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent introduces an intermediary testing system that acts as a mediator between the rule base and the execution engine. This testing system includes a rule conflict detector that analyzes rules for potential conflicts, and a test case generator that creates test scenarios to validate rule execution. The intermediary layer enables developers to maintain the separation of concerns while providing automated detection of non-deterministic behavior and conflicts, thus resolving the contradiction between ease of development and execution predictability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple rules can be executed at the same time with different execution sequences, then the system can handle complex decision-making, but different execution sequences lead to different states or outcomes resulting in non-deterministic behavior

Engineering Contradiction:
Improveflexibility in rule executionVSAvoidconsistency of system output
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through automated testing that validates rule execution outcomes. The test case generator creates test scenarios that exercise multiple rule execution paths, and the rule conflict detector provides feedback about potential conflicts and non-deterministic behavior. This feedback loop enables the system to maintain the flexibility of parallel rule execution while ensuring consistent and reliable outcomes by detecting and resolving conflicts before they cause non-deterministic behavior.

Inventive Principle:
Principle #23Feedback

3Reliability

If the system includes comprehensive testing for rule conflicts and non-deterministic behavior, then reliability and consistency can be improved, but the testing process becomes complex and time-consuming

Engineering Contradiction:
Improveconsistency of rule executionVSAvoidcomplexity of testing process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing rule conflict detection and test case generation before actual rule execution. The rule conflict detector analyzes the rule base in advance to identify potential conflicts and non-deterministic behaviors, and the test case generator creates comprehensive test scenarios beforehand. This preliminary testing approach ensures reliability and consistency are built into the system design, avoiding the need for complex and time-consuming testing during system operation.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If automated testing with data-flow analysis and symbolic execution is implemented, then detection precision of conflicts is improved, but the computational resources and time required for analysis increase

Engineering Contradiction:
Improveprecision of conflict detectionVSAvoidtime for rule analysis
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the testing process into distinct phases: rule conflict detection, test case generation, and execution validation. Each phase focuses on specific aspects of rule interaction, allowing the system to achieve high detection precision through targeted analysis rather than exhaustive computation. The rule conflict detector segments the analysis to identify specific conflict types (read-write, write-write), while the test case generator segments execution paths to create focused test scenarios, reducing overall computational time while maintaining precision.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8898100B2Testing for rule-based systems
Publication Date: 2014.11.25 ACCENTURE GLOBAL SERVICES LTD
  • US8898100B2 patent drawing
  • US8898100B2 patent drawing
  • US8898100B2 patent drawing

AI summary

A non-transitory computer-readable medium tangibly embodied in a storage device encoded with instructions that, when executed on a processor, perform a method in a computer system for testing a rule-driven system, the method comprising detecting a potential read-write error or a potential write-write error in the rule-driven system, generating test results based on the detecting, and reporting the test results.