Testing for rule-based systems
AssigneeAccenture Global Services Limited
InventorsMark Grechanik, Chen Fu
Life of this patent
Estimating the term…
Abstract
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.
Claims35
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, the method comprising:
- detecting for a potential read-write error and a potential write-write error in a rule-driven system;
- detecting a potential error in the rule-driven system, the potential error comprising at least one detected potential read-write error or at least one detected potential write-write error;
- constructing a representation of the rule-driven system, the representation including the potential error;
- generating test results by symbolically executing test cases based on the constructed representation, wherein the test cases comprise less than all rules of the rule-driven system;
- determining a likelihood that the detected potential error will be encountered during operation of the rule-driven system based on the symbolic execution;
- and
- reporting the test results.
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, the method comprising:
- identifying, by the processor, rules in a rule-driven system;
- constructing a representation of the rule-driven system including the identified rules;
- identifying, using the constructed representation, variable reads and variable writes in the identified rules;
- identifying, using the constructed representation, path conditions for the identified rules that lead to the variable reads and writes;
- identifying, using the path conditions, potential conflicts among the identified rules, the identifying potential conflicts comprising detecting for a potential read-write error and a potential write-write error;
- and
- executing test cases based on the potential conflicts to determine a likelihood that the potential conflicts will be encountered during operation of the rule-driven system, wherein the test cases comprise less than all rules of the rule-driven system.
A system comprising:
- a memory device containing stored instructions;
- and
- at least one electronic processor coupled to the memory device and executing instructions to
- identify rues in a rule-driven system;
- construct a representation of the rule-driven system including the identified rules;
- identify, using the constructed representation, variable reads and variable writes in the identified rules;
- identify, using the constructed representation, path conditions for the identified rules that lead to the variable reads and writes;
- identify, using the path conditions, potential conflicts among the identified rules, the identifying potential conflicts comprising detecting for a potential read-write error and a potential write-write error;
- and
- execute test cases based on the constructed representation, the path conditions, and the potential conflicts to determine a likelihood that the potential conflicts will be encountered during operation of the system, wherein the test cases comprise less than all rules of the rule-driven system.
Dependencies are inferred from the claim text.