IP Library › Granted Patent US 12,488,234
Granted Patent B2
US 12,488,234 · App. 17/121,796 · Granted Dec 2, 2025

Reinforcement learning for testing suite generation

Inventors: Andrew C.M. Hicks (Wappingers Falls, NY); Deborah A. Furman (Staatsburg, NY); Michael Terrence Cohoon (Fishkill, NY); Michael E Gildein (Wappingers Falls, NY)
Assignee: International Business Machines Corporation
G06N3/08G06F18/217G06F18/285G06N3/045G06N3/063
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 12,488,234
App. No.
17/121,796
Granted
Dec 2, 2025
Kind
B2
Abstract

Aspects of the invention include mutating each neural network of a portion of a first array of neural networks, wherein each neural network of the first array of neural networks is configured to select a respective sequence of test cases for testing a computing infrastructure. Causing each neural network of a second array of neural networks to select a respective sequence of test cases for testing the computing infrastructure. Generating a child neural network by performing a crossover operation between a mutated neural network of the portion of the first array and a neural network of the second array of neural networks, the child neural network generating a new sequence of test cases for testing the computing infrastructure.

Claims (29)

1 . A computer-implemented method comprising: mutating, by a processor, each neural network of a portion of a first array of neural networks, wherein each neural network of the first array of neural networks is configured to select a respective sequence of test cases for testing a computing infrastructure, wherein unique innovation numbers are used to track changes to each neural network of the portion of the first array of neural networks resulting from the mutating; causing, by the processor, each neural network of a second array of neural networks to select a respective sequence of test cases for testing the computing infrastructure; and generating, by the processor, a child neural network by performing a crossover operation between a mutated neural network of the portion of the first array of neural networks and a neural network of the second array of neural networks using the unique innovation numbers associated with the mutated neural network of the portion of the first array of neural networks, the child neural network generating a new sequence of test cases for testing the computing infrastructure, wherein each neural network of the first array of neural networks belongs to a first class of neural network having a first neural network architecture type and each neural network of the second array belongs to a second class of neural network having a second neural network architecture type, and wherein the second neural network architecture type differs in topology from the first neural network architecture type as to the functioning of node layers and connections between nodes of the neural networks, and wherein the first neural network architecture type is of a first type selected from a group consisting of a feedforward neural network, a radial bias network, a long/short term memory network, and a deep convolutional network, and wherein the second neural network architecture is of a second type selected from a group consisting of a feedforward neural network, a radial bias network, a long/short term memory network, and a deep convolutional network, that differs from the first type.

2 . The computer-implemented method of claim 1 further comprising initializing each neural network of the first array of neutral networks by randomizing a portion of respective weights and biases associated with each neural network of the first array of neural networks.

3 . The computer-implemented method of claim 1 further comprising:

calculating a respective fitness score for each neural network of the first array of neural networks; and

selecting the portion of the first array of neural networks based on the respective fitness score of each neural network of the first array of neural networks.

4 . The computer-implemented method of claim 1 further comprising:

calculating a respective fitness score for each neural network of the second array of neural networks; and

selecting a portion of neural networks of the second array based on the respective fitness score of each neural network of the second array of neural networks.

5 . The computer-implemented method of claim 1 , wherein mutating each neural network of the portion of the first array of neural networks comprises modifying a respective activation function of each neural network from a first type of activation function to a second type of activation function.

6 . The computer-implemented method of claim 1 , wherein the child neural network comprises a node from the mutated neural network of the portion of the first array of neural networks and a node from the neural network of the second array of neural networks.

7 . A system comprising: a memory having computer readable instructions; and one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising: mutating each neural network of a portion of a first array of neural networks, wherein each neural network of the first array of neural networks is configured to select a respective sequence of test cases for testing a computing infrastructure, wherein unique innovation numbers are used to track changes to each neural network of the portion of the first array of neural networks resulting from the mutating; causing each neural network of a second array of neural networks to select a respective sequence of test cases for testing the computing infrastructure; and generating a child neural network by performing a crossover operation between a mutated neural network of the portion of the first array of neural networks and a neural network of the second array of neural networks using the unique innovation numbers associated with the mutated neural network of the portion of the first array of neural networks, the child neural network generating a new sequence of test cases for testing the computing infrastructure, wherein each neural network of the first array of neural networks belongs to a first class of neural network having a first neural network architecture type and each neural network of the second array belongs to a second class of neural network having a second neural network architecture type, and wherein the second neural network architecture type differs in topology from the first neural network architecture type as to the functioning of node layers and connections between nodes of the neural networks, and wherein the first neural network architecture type is of a first type selected from a group consisting of a feedforward neural network, a radial bias network, a long/short term memory network, and a deep convolutional network, and wherein the second neural network architecture is of a second type selected from a group consisting of a feedforward neural network, a radial bias network, a long/short term memory network, and a deep convolutional network, that differs from the first type.

8 . The system of claim 7 , wherein the operations further comprise initializing each neural network of the first array of neutral networks by randomizing a portion of respective weights and biases associated with each neural network of the first array of neural networks.

9 . The system of claim 7 , wherein the operations further comprise:

calculating a respective fitness score for each neural network of the first array of neural networks; and

selecting the portion of the first array of neural networks based on the respective fitness score of each neural network of the first array of neural networks.

10 . The system of claim 7 , wherein the operations further comprise:

calculating a respective fitness score for each neural network of the second array of neural networks; and

selecting a portion of neural networks of the second array based on the respective fitness score of each neural network of the second array of neural networks.

11 . The system of claim 7 , wherein mutating each neural network of the portion of the first array of neural networks comprises modifying a respective activation function of each neural network from a first type of activation function to a second type of activation function.

12 . The system of claim 7 , wherein the child neural network comprises a node from the mutated neural network of the portion of the first array of neural networks and a node from the neural network of the second array of neural networks.

13 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising: mutating each neural network of a portion of a first array of neural networks, wherein each neural network of the first array of neural networks is configured to select a respective sequence of test cases for testing a computing infrastructure, wherein unique innovation numbers are used to track changes to each neural network of the portion of the first array of neural networks resulting from the mutating; causing each neural network of a second array of neural networks to select a respective sequence of test cases for testing the computing infrastructure; and generating a child neural network by performing a crossover operation between a mutated neural network of the portion of the first array of neural networks and a neural network of the second array of neural networks using the unique innovation numbers associated with the mutated neural network of the portion of the first array of neural networks, the child neural network generating a new sequence of test cases for testing the computing infrastructure, wherein each neural network of the first array of neural networks belongs to a first class of neural network having a first neural network architecture type and each neural network of the second array belongs to a second class of neural network having a second neural network architecture type, and wherein the second neural network architecture type differs in topology from the first neural network architecture type as to the functioning of node layers and connections between nodes of the neural networks, and wherein the first neural network architecture type is of a first type selected from a group consisting of a feedforward neural network, a radial bias network, a long/short term memory network, and a deep convolutional network, and wherein the second neural network architecture is of a second type selected from a group consisting of a feedforward neural network, a radial bias network, a long/short term memory network, and a deep convolutional network, that differs from the first type.

14 . The computer program product of claim 13 , wherein the operations further comprise initializing each neural network of the first array of neutral networks by randomizing a portion of respective weights and biases associated with each neural network of the first array of neural networks.

15 . The computer program product of claim 13 , wherein the operations further comprise:

calculating a respective fitness score for each neural network of the first array of neural networks; and

selecting the portion of the first array of neural networks based on the respective fitness score of each neural network of the first array of neural networks.

16 . The computer program product of claim 13 , wherein the operations further comprise:

calculating a respective fitness score for each neural network of the second array of neural networks; and

selecting a portion of neural networks of the second array based on the respective fitness score of each neural network of the second array of neural networks.

17 . The computer program product of claim 13 , wherein mutating each neural network of the portion of the first array of neural networks comprises modifying a respective activation function of each neural network from a first type of activation function to a second type of activation function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2020
From: HICKS, ANDREW C. M.; FURMAN, DEBORAH A.; COHOON, MICHAEL TERRENCE; GILDEIN, MICHAEL E
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054645/0018 →
Continuity (1)
Related Publication 20220188627A1 · Jun 16, 2022
References Cited (41)
US 5708774A · Boden · 1998 [cited by applicant]
US 9977729B1 · Ivancic · 2018 [cited by examiner]
US 10908599B2 · Naito · 2021 [cited by applicant]
US 11080603B2 · Odena · 2021 [cited by examiner]
US 12050979B2 · Singh · 2024 [cited by examiner]
US 20080082968A1 · Change et al. · 2008 [cited by applicant]
US 20100153785A1 · Keromytis et al. · 2010 [cited by applicant]
US 20100262559A1 · Wilcock · 2010 [cited by examiner]
US 20180260714A1 · Li et al. · 2018 [cited by applicant]
US 20190122119A1 · Husain · 2019 [cited by examiner]
US 20190318806A1 · Wise · 2019 [cited by examiner]
US 20200073788A1 · Saha et al. · 2020 [cited by applicant]
US 20210019628A1 · Yao · 2021 [cited by examiner]
US 20210390376A1 · Byrne · 2021 [cited by examiner]
US 20220292357A1 · Xu · 2022 [cited by examiner]
CN 108446214A · 2018 [cited by applicant]
CN 110321291A · 2019 [cited by applicant]
CN 110377511A · 2019 [cited by applicant]
CN 111242281A · 2020 [cited by applicant]
CN 111897733A · 2020 [cited by applicant]
CN 116670692A · 2023 [cited by applicant]
DE 112021006508T5 · 2023 [cited by applicant]
EP 3422261A1 · 2019 [cited by applicant]
GB 2617737A · 2023 [cited by applicant]
JP H11154145A · 1999 [cited by applicant]
JP 2003508835A · 2003 [cited by applicant]
JP 2019082882A · 2019 [cited by applicant]
JP 2019101961A · 2019 [cited by applicant]
JP 2019516148A · 2019 [cited by applicant]
JP 2023552552A · 2023 [cited by applicant]
WO 2001016881A2 · 2001 [cited by applicant]
WO WO2021234365A1 · 2021 [cited by examiner]
WO 2022127393A1 · 2022 [cited by applicant]
Kumar et al. (“BiPhase adaptive learning-based neural network model for cloud datacenter workload forecasting”, Soft Computing ( 2020) pp. 14593-14610) (Year: 2020). [cited by examiner]
Desell et al. (“Large Scale Evolution of Convolutional Neural Networks Using Volunteer Computing”, Mar. 15, 2017) (Year: 2017). [cited by examiner]
Esfahanian et al. (“GACNN: Training Deep Convolutional Neural Networks With Genetic Algorithm”, Sep. 29, 2019) (Year: 2019). [cited by examiner]
Vargas et al. (“Spectrum-Diverse Neuroevolution with Unified Neural Models”, IEEE Transactions on Neural Networks and Learning Systems, Jan. 6, 2019) (Year: 2019). [cited by examiner]
Lu et al. (“NSGA-Net: Neural Architecture Search using Multi-Objective Genetic Algorithm”, GECCO'19, Jul. 13-17, 2019) (Year: 2019). [cited by examiner]
Ma et al. (“DeepMutation: Mutation Testing of Deep Learning Systems”, 2018 IEEE 29th International Symposium on Software Reliability Engineering) (Year: 2018). [cited by examiner]
International Search Report and Written Opinion for Internation Application No. PCT/CN2021/126862; International Filing date: Oct. 28, 2021; Date of Mailing: Jan. 25, 2022; 9 pages. [cited by applicant]
Japan Patent Office, “Notice of Reasons for Refusal” Jan. 29, 2025, 8 Pages, JP Application No. 2023-534078. [cited by applicant]