# US 12,111,755 B2 · Generating test data for application performance

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

- Number: US 12,111,755 B2
- Document ID: US12111755B2
- Status: Granted
- Kind: B2
- Application number: 17/649,535
- Filed: 2022-01-31
- Published: 2023-08-03
- Granted: 2024-10-08
- Earliest claimed: 2020-09-21
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Anna Tatunashvili; Rupam Bhattacharjee; Siba Prasad Satapathy; George Thayyil Jacob Sushil; Jozef Fekia{hacek over (c)}
- Web page: https://patentgrep.com/patent/US12111755B2

## CPC

- G06F 11/3692: {for test results analysis}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 11/3414: {Workload generation, e.g. scripts, playback}
- G06F 11/3442: {for planning or managing the needed capacity}
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an approach to improve the extraction of test datasets for testing and resource optimization, embodiments execute a test run on a full dataset of a job, and identify existing bottlenecks in the job through a run-time monitoring interface. Additionally, embodiments execute a run-time metrics analysis, a source code analysis, and a source data impact analysis of a distributed data processing engine executing a distributed data processing job, and generate, by an analysis and impact scoring engine, an impact scoring table of job transformations based on the source code analysis. Furthermore, embodiments generate data extraction rules based on the impact scoring table, and extract a test dataset based on the data extraction rules. Moreover, embodiments evaluate the data extraction rules against user defined thresholds, and prepare a representative test dataset, and output, through a user interface on a computing device, the representative test dataset to a user.

## Claims

### Claim 1

A computer-implemented method for extracting test datasets for testing and resource optimization, the method comprising:
executing a test run on a full dataset of a job;
generating, by an analysis and impact scoring engine, an impact scoring table of job transformations based on a source code analysis;
generating data extraction rules based on the impact scoring table;
extracting a test dataset based on the data extraction rules;
evaluating the data extraction rules against user defined thresholds, and preparing a representative test dataset; and
outputting, via a user interface on a computing device, the representative test dataset to a user.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
identifying existing bottlenecks in the job through a run-time monitoring interface.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
generating, by the analysis and impact scoring engine, a recommendation report on potential issues and bottlenecks based on a run-time metrics analysis, a source code analysis, and a source data impact analysis; and
identifying connections between execution steps and source code, and associating
workflow metadata to different blocks of the source code.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
retrieving source datasets used by the job from one or more databases, wherein the job is any type of distributed data processing job running on one or more cloud or bare metal servers; and
retrieving a distributed data processing job application, and source code associated with the job.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving, by the user interface, requirements of a user, wherein the requirements comprise: expected data size and representativeness percentage, number of iterations for test dataset extractor, and run mode; and
retrieving previously entered and stored user requirements from one or more databases.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
extracting allocated driver memory, number of executors, number of cores per executor, and allocated memory per executor from an environment setup to be used in a test run of the full dataset of the job; and
performing, by a run-time monitoring interface, representation scoring by; comparing runtime performance parameters of the job with runtime performance parameters of an original run of the job.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
executing, by an automated analysis tool, a source code analysis of a distributed data processing engine executing a distributed data processing job.

### Claim 8

A computer system for extracting test datasets for testing and resource optimization, the computer system comprising:
one or more computer processors;
one or more computer readable storage devices;
program instructions stored on the one or more computer readable storage devices for execution by at least one of the one or more computer processors, the stored program instructions comprising:
program instructions to execute a test run on a full dataset of a job;
program instructions to generate, by an analysis and impact scoring engine, an impact scoring table of job transformations based on a source code analysis;
program instructions to generate data extraction rules based on the impact scoring table;
program instructions to extract a test dataset based on the data extraction rules;
program instructions to evaluate the data extraction rules against user defined thresholds, and prepare a representative test dataset; and
program instructions to output, via a user interface on a computing device, the representative test dataset to a user.

### Claim 9 (depends on 8)

The computer system of claim 8, further comprising:
program instructions to identify existing bottlenecks in the job through a run-time monitoring interface.

### Claim 10 (depends on 8)

The computer system of claim 8, further comprising:
program instructions to generate, by the analysis and impact scoring engine, a recommendation report on potential issues and bottlenecks based on a run-time metrics analysis, a source code analysis, and a source data impact analysis; and
program instructions to identify connections between execution steps and source code, and associate workflow metadata to different blocks of the source code.

### Claim 11 (depends on 8)

The computer system of claim 8, further comprising:
program instructions to retrieve source datasets used by the job from one or more databases, wherein the job is any type of distributed data processing job running on one or more cloud or bare metal servers; and
program instructions to retrieve a distributed data processing job application, and source code associated with the job.

### Claim 12 (depends on 8)

The computer system of claim 8, further comprising:
program instructions to receive, by the user interface, requirements of a user, wherein the requirements comprise: expected data size and representativeness percentage, number of iterations for test dataset extractor, and run mode;
program instructions to retrieve previously entered and stored user requirements from one or more databases; and
program instructions to extract allocated driver memory, number of executors, number of cores per executor, and allocated memory per executor from an environment setup to be used in a test run of the full dataset of the job.

### Claim 13 (depends on 8)

The computer system of claim 8, further comprising:
program instructions to execute, by an automated analysis tool, a source code analysis of a distributed data processing engine executing a distributed data processing job.

### Claim 14 (depends on 8)

The computer system of claim 8, further comprising:
program instructions to perform, by a run-time monitoring interface, representation scoring; and
program instructions to compare runtime performance parameters of the job with runtime performance parameters of an original run of the job.

### Claim 15

A computer program product for extracting test datasets for testing and resource optimization, the computer program product comprising:
one or more computer readable storage devices and program instructions stored on the one or more computer readable storage devices, the stored program instructions comprising:
program instructions to execute a test run on a full dataset of a job;
program instructions to generate, by an analysis and impact scoring engine, an impact scoring table of job transformations based on a source code analysis;
program instructions to generate data extraction rules based on the impact scoring table;
program instructions to extract a test dataset based on the data extraction rules;
program instructions to evaluate the data extraction rules against user defined thresholds, and preparing a representative test dataset; and
program instructions to output, via a user interface on a computing device, the representative test dataset to a user.

### Claim 16 (depends on 15)

The computer program product of claim 15, further comprising:
program instructions to identify existing bottlenecks in the job through a run-time monitoring interface; and
program instructions to extract allocated driver memory, number of executors, number of cores per executor, and allocated memory per executor from an environment setup to be used in a test run of the full dataset of the job.

### Claim 17 (depends on 15)

The computer program product of claim 15, further comprising:
program instructions to execute, by an automated analysis tool, a run-time metrics analysis, a source code analysis, and a source data impact analysis of a distributed data processing engine executing a distributed data processing job.

### Claim 18 (depends on 15)

The computer program product of claim 15, further comprising:
program instructions to generate, by the analysis and impact scoring engine, a recommendation report on potential issues and bottlenecks based on a run-time metrics analysis, a source code analysis, and a source data impact analysis; and
program instructions to identify connections between execution steps and source code, and associate workflow metadata to different blocks of the source code.

### Claim 19 (depends on 15)

The computer program product of claim 15, further comprising:
program instructions to retrieve source datasets used by the job from one or more databases, wherein the job is any type of distributed data processing job running on one or more cloud or bare metal servers; and
program instructions to retrieve a distributed data processing job application, and source code associated with the job.

### Claim 20 (depends on 15)

The computer program product of claim 15, further comprising:
program instructions to receive, by the user interface, requirements of a user, wherein the requirements comprise: expected data size and representativeness percentage, number of iterations for test dataset extractor, and run mode; and
program instructions to retrieve previously entered and stored user requirements from one or more databases.
