IP Library Granted Patent US 12681834
Granted Patent B2
US 12681834 · App. 18/526,420 · Granted Jul 14, 2026

Determining risk based test cases in build routines

Inventors: Rahul Jain (Kolkata, IN); Manjit Singh Sodhi (Bangalore, IN); Shashank Mujumdar (Nagpur, IN); Kalapriya Kannan (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F11/3608
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 12681834
App. No.
18/526,420
Granted
Jul 14, 2026
Kind
B2
Abstract

A processor set is configured to receive a plurality of software modules to be analyzed and select one or more software modules that contain modified code. The processor set may further parse product documentation or code comments related to the selected software modules and use the parsed product documentation or code comments to generate a dependency matrix (DM). The processor set may also tag test cases with an associated directed acyclic graph (DAG) that includes a sequence of modules directly or indirectly impacted by the test cases. By reconciling the DM and the DAG for the test cases, the processor set may generate a consolidated directed acyclic graph (CDAG). The processor set may determine, and perform, an optimized list of test cases, based on the generated CDAG and one or more consolidated dependency matrix (CDM) nodes.

Claims (43)

1 . A computer-implemented method, comprising:

receiving, by a processor set, from data sources, a plurality of software modules to be analyzed in a continuous integration environment;

selecting, by the processor set, one or more software modules of the plurality of software modules that contain modified code;

parsing, by the processor set, product documentation or code comments related to the selected one or more software modules;

generating, by the processor set, a dependency matrix (DM) by executing a DM creation sub-process of a process based on the parsed product documentation or the parsed code comments that show dependencies between parts of the selected one or more software modules and information flow therethrough;

generating an associated directed acyclic graph (DAG) by executing a DAG creation sub-process of the process based on retrieving test-case documentation, and tagging, by the processor set, one or more test cases with the associated directed acyclic graph (DAG) comprising a sequence of modules of the plurality of software modules directly or indirectly impacted by the one or more test cases;

generating, by executing the process by the processor set, a consolidated directed acyclic graph (CDAG) by reconciling the DM and the associated DAG for each of the one or more test cases;

determining, by the processor set, an optimized list of test cases based on identifying overlapping portions of the generated CDAG and one or more consolidated dependency matrix (CDM) nodes that overlap, wherein the optimized list of test cases ensures regression testing of complete code of the selected one or more software modules; and

executing, by the processor set, the regression testing on the selected one or more software modules based on each test case of the optimized list of test cases to verify each CDM node called within each software module, wherein the execution of the regression testing based on each test case of the optimized list of test cases is performed in the continuous integration environment without manual interference and includes executing, by the processor set in the continuous integration environment, test cases associated with CDM nodes marked as unverified, while skipping execution of test cases associated with CDM nodes marked as verified.

2 . The computer-implemented method of claim 1 , wherein the parsing comprises parsing both the product documentation and the code comments related to the selected one or more software modules.

3 . The computer-implemented method of claim 1 , further comprising retrieving the product documentation or the code comments directly from the plurality of software modules.

4 . The computer-implemented method of claim 1 , further comprising determining, by the processor set, whether a CDM node of the one or more CDM nodes is marked as verified or unverified.

5 . The computer-implemented method of claim 1 , wherein the executing the regression testing comprises performing each test case of the optimized list of test cases until each CDM node of the one or more CDM nodes is verified.

6 . The computer-implemented method of claim 1 , further comprising transmitting, by the processor set, the optimized list of test cases to a user device or to a data source.

7 . The computer-implemented method of claim 1 , further comprising transmitting, by the processor set, an indication that each CDM node of the one or more CDM nodes is verified.

8 . A computer program product comprising one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media, the program instructions configured to:

receive, from data sources, a plurality of software modules to be analyzed in a continuous integration environment;

select one or more software modules of the plurality of software modules that contain modified code;

parse product documentation or code comments related to the selected one or more software modules;

generate a dependency matrix (DM) by executing a DM creation sub-process of a process based on the parsed product documentation or the parsed code comments that show dependencies between parts of the selected one or more software modules and information flow therethrough;

generate an associated directed acyclic graph (DAG) by executing a DAG creation sub-process of the process based on retrieving test-case documentation, and tag one or more test cases with the associated directed acyclic graph (DAG) comprising a sequence of modules of the plurality of software modules directly or indirectly impacted by the one or more test cases;

generate by executing the process a consolidated directed acyclic graph (CDAG) by reconciling the DM and the associated DAG for each of the one or more test cases;

determine an optimized list of test cases based on identifying overlapping portions of the generated CDAG and one or more consolidated dependency matrix (CDM) nodes that overlap, wherein the optimized list of test cases ensures regression testing of complete code of the selected one or more software modules; and

execute the regression testing on the selected one or more software modules based on each test case of the optimized list of test cases to verify each CDM node called within each software module, wherein the execution of the regression testing based on each test case of the optimized list of test cases is performed in the continuous integration environment without manual interference and includes executing, in the continuous integration environment, test cases associated with CDM nodes marked as unverified, while skipping execution of test cases associated with CDM nodes marked as verified.

9 . The computer program product of claim 8 , wherein the parsing comprises parsing both the product documentation and the code comments related to the selected one or more software modules.

10 . The computer program product of claim 8 , wherein the program instructions are further executable to retrieve the product documentation or the code comments directly from the plurality of software modules.

11 . The computer program product of claim 8 , wherein the program instructions are further executable to determine whether a CDM node of the one or more CDM nodes is marked as verified or unverified.

12 . The computer program product of claim 8 , wherein the executing the regression testing comprises performing each test case of the optimized list of test cases until each CDM node of the one or more CDM nodes is verified.

13 . The computer program product of claim 8 , wherein the program instructions are further executable to transmit the optimized list of test cases to a user device or to a data source or to transmit an indication that each CDM node of the one or more CDM nodes is verified.

14 . A system comprising:

a processor set, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions configured to:

receive, from data sources, a plurality of software modules to be analyzed in a continuous integration environment;

select one or more software modules of the plurality of software modules that contain modified code;

parse product documentation or code comments related to the selected one or more software modules;

generate a dependency matrix (DM) by executing a DM creation sub-process of a process based on the parsed product documentation or the parsed code comments that show dependencies between parts of the selected one or more software modules and information flow therethrough;

generate an associated directed acyclic graph (DAG) by executing a DAG creation sub-process of the process based on retrieving test-case documentation, and tag one or more test cases with the associated directed acyclic graph (DAG) comprising a sequence of modules of the plurality of software modules directly or indirectly impacted by the one or more test cases;

generate, by executing the process, a consolidated directed acyclic graph (CDAG) by reconciling the DM and the associated DAG for each of the one or more test cases;

determine an optimized list of test cases based on identifying overlapping portions of the generated CDAG and one or more consolidated dependency matrix (CDM) nodes that overlap, wherein the optimized list of test cases ensures regression testing of complete code of the selected one or more software modules; and

execute the regression testing on the selected one or more software modules based on each test case of the optimized list of test cases to verify each CDM node called within each software module, wherein the execution of the regression testing based on each test case of the optimized list of test cases is performed in the continuous integration environment without manual interference and includes executing, in the continuous integration environment, test cases associated with CDM nodes marked as unverified, while skipping execution of test cases associated with CDM nodes marked as verified.

15 . The system of claim 14 , wherein the parsing comprises parsing both the product documentation and the code comments related to the selected one or more software modules.

16 . The system of claim 14 , wherein the program instructions are further executable to retrieve the product documentation and the code comments directly from the plurality of software modules.

17 . The system of claim 14 , wherein the program instructions are further executable to determine whether a CDM node of the one or more CDM nodes is marked as verified or unverified.

18 . The system of claim 14 , wherein the executing the regression testing comprises performing each test case of the optimized list of test cases until each CDM node of the one or more CDM nodes is verified.