# US 12,001,273 B2 · Software validation framework

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,273 B2
- Document ID: US12001273B2
- Status: Granted
- Kind: B2
- Application number: 17/225,229
- Filed: 2021-04-08
- Published: 2022-10-13
- Granted: 2024-06-04
- Earliest claimed: 2021-04-08
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Baishali Roy; Antarlina Tripathy; Panguluru Vijaya Sekhar; Shivangi Geetanjali; Sowmya Kumar; Sambasivarao Gaddam; Shivangi Maharana; Sashibhusan Panda; Shishir Kumar Parhi; Harikrishna Reyyi; Seshadri Srinivasan; Bijan Kumar Mohanty; Hung Dinh; Sweta Kumari
- Web page: https://patentgrep.com/patent/US12001273B2

## CPC

- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06N 20/20: Ensemble learning
- G06F 11/0769: {Readable error formats, e.g. cross-platform generic formats, human understandable formats}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/24: Classification techniques
- G06F 18/40: Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/00: Machine learning
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method comprises receiving a request for validation of software comprising one or more applications, analyzing the request and generating one or more validation steps based at least in part on the analysis. In the method, a time to complete the one or more validation steps is predicted. The predicting is performed using one or more machine learning models, and is based at least in part on a type and a number of the one or more applications.

## Claims

### Claim 1

A method comprising:
receiving a request for validation of software comprising one or more applications;
analyzing the request and generating one or more validation steps based at least in part on the analysis; and
predicting a time to complete the one or more validation steps, wherein:
the predicting is performed using one or more machine learning models, and is based at least in part on a type and a number of the one or more applications; and
the predicting comprises inputting a multi-dimensional feature vector comprising at least the type and the number of the one or more applications to the one or more machine learning models;
wherein the one or more machine learning models are trained with at least a first dataset comprising data corresponding to times to complete previous software validations and corresponding to types and numbers of applications associated with the previous software validations;
wherein the one or more machine learning models are trained with at least a second dataset generated through a feedback loop and based at least in part on the predicted time to complete the one or more validation steps; and
wherein the steps of the method are executed by a processing device operatively coupled to a memory.

### Claim 2 (depends on 1)

The method of claim 1 wherein the one or more validation steps are performed by one or more microservices.

### Claim 3 (depends on 2)

The method of claim 2 wherein the one or more micro services comprise at least one of a cloud deployment service, a message queuing service, a change tracking service, and a workflow orchestration service.

### Claim 4 (depends on 2)

The method of claim 2 further comprising calling the one or more microservices to perform the one or more validation steps.

### Claim 5 (depends on 1)

The method of claim 1 wherein the predicting is further based at least in part on a type of the one or more validation steps.

### Claim 6 (depends on 1)

The method of claim 1 wherein the one or more machine learning models comprise a Random Forest classifier.

### Claim 7 (depends on 1)

The method of claim 1 further comprising determining a root cause for failure of the one or more applications during performance of the one or more validation steps, wherein the determining is performed using the one or more machine learning models.

### Claim 8 (depends on 7)

The method of claim 7 wherein the one or more machine learning models used in connection with performing the determining comprises a Naive Bayes classifier.

### Claim 9 (depends on 7)

The method of claim 7 wherein the determining comprises analyzing one or more failed application error logs.

### Claim 10 (depends on 9)

The method of claim 9 wherein the determining further comprises:
parsing the one or more failed application error logs using at least one of tokenization and vectorization; and
inputting data resulting from at least one of the tokenization and the vectorization to the one or more machine learning models.

### Claim 11 (depends on 7)

The method of claim 7 further comprising training the one or more machine learning models with data corresponding to at least one of success and failure of applications in the previous software validations.

### Claim 12 (depends on 7)

The method of claim 7 wherein the root cause for failure of the one or more applications is determined in real-time following the failure of the one or more applications.

### Claim 13 (depends on 1)

The method of claim 1 wherein the one or more validation steps are generated in real-time in response to receiving the request for validation of the software and are based at least in part on software release instructions.

### Claim 14

An apparatus comprising:
a processing device operatively coupled to a memory and configured to:
receive a request for validation of software comprising one or more applications;
analyze the request and generate one or more validation steps based at least in part on the analysis; and
predict a time to complete the one or more validation steps, wherein:
the predicting is performed using one or more machine learning models, and is based at least in part on a type and a number of the one or more applications; and
in performing the predicting, the processing device is further configured to input a multi-dimensional feature vector comprising at least the type and the number of the one or more applications to the one or more machine learning models;
wherein the one or more machine learning models are trained with at least a first dataset comprising data corresponding to times to complete previous software validations and corresponding to types and numbers of applications associated with the previous software validations; and
wherein the one or more machine learning models are trained with at least a second dataset generated through a feedback loop and based at least in part on the predicted time to complete the one or more validation steps.

### Claim 15 (depends on 14)

The apparatus of claim 14 wherein the processing device is further configured to determine a root cause for failure of the one or more applications during performance of the one or more validation steps, and wherein the determining is performed using the one or more machine learning models.

### Claim 16 (depends on 15)

The apparatus of claim 15 wherein, in determining the root cause for failure of the one or more applications, the processing device is further configured to analyze one or more failed application error logs.

### Claim 17 (depends on 15)

The apparatus of claim 15 wherein the root cause for failure of the one or more applications is determined in real-time following the failure of the one or more applications.

### Claim 18

An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code of the one or more software programs, when executed by at least one processing device, causes the at least one processing device to perform the steps of:
receiving a request for validation of software comprising one or more applications;
analyzing the request and generating one or more validation steps based at least in part on the analysis; and
predicting a time to complete the one or more validation steps, wherein:
the predicting is performed using one or more machine learning models, and is based at least in part on a type and a number of the one or more applications; and
in performing the predicting, the program code of the one or more software programs further causes the at least one processing device to perform the step of inputting a multi-dimensional feature vector comprising at least the type and the number of the one or more applications to the one or more machine learning models;
wherein the one or more machine learning models are trained with at least a first dataset comprising data corresponding to times to complete previous software validations and corresponding to types and numbers of applications associated with the previous software validations; and
wherein the one or more machine learning models are trained with at least a second dataset generated through a feedback loop and based at least in part on the predicted time to complete the one or more validation steps.

### Claim 19 (depends on 18)

The article of manufacture of claim 18 wherein the program code of the one or more software programs further causes the at least one processing device to perform the step of determining a root cause for failure of the one or more applications during performance of the one or more validation steps, and wherein the determining is performed using the one or more machine learning models.

### Claim 20 (depends on 18)

The article of manufacture of claim 18 wherein the one or more validation steps are performed by one or more microservices.
