Rule-Driven System Testing via Conflict Detection
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
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
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.
Data Source
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.


