IP Library › Granted Patent US 11,422,924
Granted Patent B2
US 11,422,924 · App. 16/440,751 · Granted Aug 23, 2022

Customizable test set selection using code flow trees

Inventors: Andrew Hicks (Wappingers Falls, NY); Dale E. Blue (Poughkeepsie, NY); Ryan Thomas Rawlins (New Paltz, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/3676G06F11/3688G06F16/9027G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,422,924
App. No.
16/440,751
Filed
Jun 13, 2019
Granted
Aug 23, 2022
Kind
B2
Examiner
WEI, ZENGPU
Art Unit
2192
USPC
717/124
Abstract

A method for identifying optimal tests includes defining functional coverage by a test suite based on a functional coverage model of a System Under Test (SUT). The test suite includes a plurality of tests. The functional coverage model includes a plurality of attributes, each attribute having a set of possible values. The functional coverage model defines possible combinations of values of the attributes as covered by the test suite. A subset of the possible combinations of values is determined. A subset of the plurality of tests is selected that is operative to cover the determined subset of the possible combinations of values. A plurality of trees is generated to represent the selected subset of tests. Complexity of the generated trees is analyzed based on user-specified criteria. An optimal tree is selected from the subset of the plurality of trees to achieve the objective of the test suite.

Claims (25)

1. A method for identifying optimal tests, the method comprising:

defining functional coverage by a test suite based on a functional coverage model of a System Under Test (SUT), wherein the test suite comprises a plurality of tests, wherein the functional coverage model comprises a plurality of attributes, each of the plurality of attributes having a set of possible values and wherein the functional coverage model defines possible combinations of values of the attributes as covered by the test suite;

determining a subset of the possible combinations of values, wherein the subset is characterized in covering all pairwise combinations of the possible combinations of values;

selecting a subset of the plurality of tests, wherein the selected subset of the plurality of tests is operative to cover the determined subset of the possible combinations of values;

generating a plurality of trees to graphically represent whether or not all of the possible combinations of values of the attributes from the functional coverage model are tested by the selected subset of the plurality of tests, each tree being a binary decision diagram that represents a source code path in the SUT executed by a test from the selected subset of the plurality of tests, wherein each binary decision diagram represents a combination of values potentially used to execute the test, wherein each node in each binary decision diagram represents an attribute, each edge from a node represents a value assigned to the attribute, and wherein each path in each binary decision diagram indicates a distinct combination of values potentially used for the plurality of attributes when executing the test, a path being a set of edges from root node to a leaf node;

analyzing a complexity of the generated plurality of binary decision diagrams based on user-specified criteria, wherein the complexity of the generated plurality of trees is analyzed using data mining, statistical analysis, predictive analysis, data modeling, and machine-learning algorithms, and wherein analyzing the complexity further comprises analyzing a shape, depth, breadth, total number of edges, total number of nodes of each of the plurality of trees, wherein the different order of the nodes in the binary decision diagrams result in differing complexities; and

identifying an optimal binary decision diagram from the subset of the plurality of binary decision diagrams to achieve an objective of the test suite based on the analyzed complexity of the generated plurality of binary decision diagrams.

2. The method of claim 1 , wherein the selected subset of the plurality of tests excludes combinations that are restricted by a set of restrictions over the plurality of attributes and associated domains.

3. A system for identifying optimal tests, the system comprising:

a memory having computer-readable instructions; and

one or more processors for executing the computer-readable instructions, the computer-readable instructions comprising:

instructions for defining functional coverage by a test suite based on a functional coverage model of a System Under Test (SUT), wherein the test suite comprises a plurality of tests, wherein the functional coverage model comprises a plurality of attributes, each of the plurality of attributes having a set of possible values and wherein the functional coverage model defines possible combinations of values of the attributes as covered by the test suite;

instructions for determining a subset of the possible combinations of values, wherein the subset is characterized in covering all pairwise combinations of the possible combinations;

instructions for selecting a subset of the plurality of tests, wherein the selected subset of the plurality of tests is operative to cover the determined subset of the possible combinations of values;

instructions for generating a plurality of trees to graphically represent whether or not all of the possible combinations of values of the attributes from the functional coverage model are tested by the selected subset of the plurality of tests, each tree being a binary decision diagram that represents a source code path in the SUT executed by a test from the selected subset of the plurality of tests, wherein each binary decision diagram represents a combination of values potentially used to execute the test, wherein each node in each binary decision diagram represents an attribute, each edge from a node represents a value assigned to the attribute, and wherein each path in each binary decision diagram indicates a distinct combination of values potentially used for the plurality of attributes when executing the test, a path being a set of edges from root node to a leaf node;

instructions for analyzing a complexity of the generated plurality of binary decision diagrams based on user-specified criteria, wherein the complexity of the generated plurality of trees is analyzed using data mining, statistical analysis, predictive analysis, data modeling, and machine-learning algorithms, and wherein analyzing the complexity further comprises analyzing a shape, depth, breadth, total number of edges, total number of nodes of each of the plurality of trees, wherein the different order of the nodes in the binary decision diagrams result in differing complexities; and

instructions for identifying an optimal binary decision diagram from the subset of the plurality of binary decision diagrams to achieve an objective of the test suite based on the analyzed complexity of the generated plurality of binary decision diagrams.

4. The system of claim 3 , wherein the selected subset of the plurality of tests excludes combinations that are restricted by a set of restrictions over the plurality of attributes and associated domains.

5. A computer-program product for identifying optimal tests, the computer-program product comprising a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:

defining functional coverage by a test suite based on a functional coverage model of a System Under Test (SUT), wherein the test suite comprises a plurality of tests, wherein the functional coverage model comprises a plurality of attributes, each of the plurality of attributes having a set of possible values and wherein the functional coverage model defines possible combinations of values of the attributes as covered by the test suite;

determining a subset of the possible combinations of values, wherein the subset is characterized in covering all pairwise combinations of the possible combinations;

selecting a subset of the plurality of tests, wherein the selected subset of the plurality of tests is operative to cover the determined subset of the possible combinations of values;

generating a plurality of trees to graphically represent whether or not all of the possible combinations of values of the attributes from the functional coverage model are tested by the selected subset of the plurality of tests, each tree being a binary decision diagram that represents a source code path in the SUT executed by a test from the selected subset of the plurality of tests, wherein each binary decision diagram represents a combination of values potentially used to execute the test, wherein each node in each binary decision diagram represents an attribute, each edge from a node represents a value assigned to the attribute, and wherein each path in each binary decision diagram indicates a distinct combination of values potentially used for the plurality of attributes when executing the test, a path being a set of edges from root node to a leaf node;

analyzing a complexity of the generated plurality of binary decision diagrams based on user-specified criteria, wherein the complexity of the generated plurality of trees is analyzed using data mining, statistical analysis, predictive analysis, data modeling, and machine-learning algorithms, and wherein analyzing the complexity further comprises analyzing a shape, depth, breadth, total number of edges, total number of nodes of each of the plurality of trees, wherein the different order of the nodes in the binary decision diagrams result in differing complexities; and

identifying an optimal binary decision diagram from the subset of the plurality of binary decision diagrams to achieve an objective of the test suite based on the analyzed complexity of the generated plurality of binary decision diagrams.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2019
From: HICKS, ANDREW; BLUE, DALE E.; RAWLINS, RYAN THOMAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049464/0615 →
Continuity (1)
Related Publication 20200394125A1 · Dec 17, 2020
Cited By (1)
US 12,229,042