# US 12,007,876 B2 · Management and development of modifications within a source code

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

- Number: US 12,007,876 B2
- Document ID: US12007876B2
- Status: Granted
- Kind: B2
- Application number: 17/660,646
- Filed: 2022-04-26
- Published: 2023-10-26
- Granted: 2024-06-11
- Earliest claimed: 2022-04-26
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: John Paul Easton; Gregory R. Hintermeister; Karri Carlson-Neumann; Zoe Clements; Vishal Anand
- Web page: https://patentgrep.com/patent/US12007876B2

## CPC

- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 8/30: Creation or generation of source code
- G06F 11/3457: {Performance evaluation by simulation}
- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06F 8/60: Software deployment
- G06F 8/77: Software metrics
- 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)}
- G06F 11/1433: {during software upgrading}
- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3062: {where the monitored property is the power consumption (power management in a computing system G06F1/3203)}
- G06F 11/323: {Visualisation of programs or trace data}
- G06F 11/3409: {for performance assessment}
- G06F 11/3419: {by assessing time}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 11/3692: {for test results analysis}
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an approach to improve implementing program code modifications within a predetermined system embodiments simulate an impact of an implemented modification to a software code against one or more predetermined constraints using a target environment. Further, embodiments comparing a first executed simulation against a second executed simulation of the software code, wherein the second executed simulation comprises the implemented modifications and a current version of the software code. Additionally, embodiments, generate guidance for a user based on the comparison of the first and second executed simulations, wherein the generated guidance comprises positive and negative impacts of the implemented software code modifications regarding compliance with the one or more predetermined constraints, and output, by a user interface, the generated guidance to the user detailing the impact of the implemented modification.

## Claims

### Claim 1

A computer-implemented method for simulating and implementing modifications within a predetermined system, the computer-implemented method comprising:
responsive to receiving instructions to submit a configuration request to a system emulator, submitting the configuration request to the system emulator so that the system emulator is configured to match predetermined constraints associated with a software code;
generating, by a compiler, binary for the software code, wherein the binary comprises a unique identifier;
simulating an impact of an implemented modification to the software code against the predetermined constraints using a target environment, wherein the simulating of the impact of the implemented modification comprises:
executing, by the system emulator, the binary, wherein the system emulator collects metrics of the binary as the binary is being executed;
identifying patterns between a first executed simulation against a second executed simulation of the software code;
comparing a first executed simulation against a second executed simulation of the software code, wherein the second executed simulation comprises the implemented modifications and a current version of the software code;
generating step by step guidance for a user based on the comparison of the first and second executed simulations, wherein the generated guidance comprises positive and negative impacts of the implemented software code modifications regarding compliance with the predetermined constraints; and
outputting, by a user interface, the generated guidance to the user detailing the impact of the implemented modification.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
responsive to receiving acceptance of the implemented modifications, integrating the implemented modifications into the software code.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the received acceptance is a varying degree of acceptance.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
responsive to determining the implemented modifications have not been accepted, receiving new modifications to the software code based on the generated guidance.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the generated guidance comprises a weighted score based on predetermined measurements that creates a numerical visualization of how compliant the current version of the software code based on the implemented modifications to satisfy the predetermined constraint.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the weighted score is based on a predetermined threshold, wherein the implemented modifications in the second simulation are automatically integrated when the weighted score is above the predetermined threshold.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating a responsive prompt; and
outputting, by the user interface, the responsive prompt to the user based on the generated guidance, wherein the responsive prompt comprises one or more prompts querying the user to accept, modify, and/or cancel the implemented modifications to the software code.

### Claim 8

A computer system for simulating and implementing modifications within a predetermined system, 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:
responsive to receiving instructions to submit a configuration request to a system emulator, program instructions to submit the configuration request to the system emulator so that the system emulator is configured to match predetermined constraints associated with a software code;
program instructions to generate, by a compiler, binary for the software code, wherein the binary comprises a unique identifier;
program instructions to simulate an impact of an implemented modification to the software code against the predetermined constraints using a target environment, wherein the simulating of the impact of the implemented modification comprises:
program instructions to execute, by the system emulator, the binary, wherein the system emulator collects metrics of the binary as the binary is being executed;
program instructions to identify patterns between a first executed simulation against a second executed simulation of the software code;
program instructions to compare a first executed simulation against a second executed simulation of the software code, wherein the second executed simulation comprises the implemented modifications and a current version of the software code;
program instructions to generate a step by step guidance for a user based on the comparison of the first and second executed simulations, wherein the generated guidance comprises positive and negative impacts of the implemented software code modifications regarding compliance with predetermined constraints; and
program instructions to output, by a user interface, the generated guidance to the user detailing the impact of the implemented modification.

### Claim 9 (depends on 8)

The computer system of claim 8, further comprising:
responsive to receiving acceptance of the implemented modifications, program instructions to integrate the implemented modifications into the software code.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein the received acceptance is a varying degree of acceptance.

### Claim 11 (depends on 8)

The computer system of claim 8, further comprising:
responsive to determining the implemented modifications have not been accepted, program instructions to receive new modifications to the software code based on the generated guidance.

### Claim 12 (depends on 8)

The computer system of claim 8, wherein the generated guidance comprises a weighted score based on predetermined measurements that creates a numerical visualization of how compliant the current version of the software code based on the implemented modifications to satisfy the predetermined constraint.

### Claim 13 (depends on 12)

The computer system of claim 12, wherein the weighted score is based on a predetermined threshold, wherein the implemented modifications in the second simulation are automatically integrated when the weighted score is above the predetermined threshold.

### Claim 14 (depends on 8)

The computer system of claim 8, further comprising:
program instructions to generate a responsive prompt; and
program instructions to output, by the user interface, the responsive prompt to the user based on the generated guidance, wherein the responsive prompt comprises one or more prompts querying the user to accept, modify, and/or cancel the implemented modifications to the software code.

### Claim 15

A computer program product for simulating and implementing modifications within a predetermined system, the computer program product comprising:
one or more computer readable storage medium and program instructions stored on the one or more computer readable storage medium, the stored program instructions comprising:
responsive to receiving instructions to submit a configuration request to a system emulator, program instructions to submit the configuration request to the system emulator so that the system emulator is configured to match predetermined constraints associated with a software code;
program instructions to generate, by a compiler, binary for the software code, wherein the binary comprises a unique identifier;
program instructions to simulate an impact of an implemented modification to the software code against the predetermined constraints using a target environment, wherein the simulating of the impact of the implemented modification comprises:
program instructions to execute, by the system emulator, the binary, wherein the system emulator collects metrics of the binary as the binary is being executed;
program instructions to identify patterns between a first executed simulation against a second executed simulation of the software code;
program instructions to compare a first executed simulation against a second executed simulation of the software code, wherein the second executed simulation comprises the implemented modifications and a current version of the software code;
program instructions to generate a step by step guidance for a user based on the comparison of the first and second executed simulations, wherein the generated guidance comprises positive and negative impacts of the implemented software code modifications regarding compliance with predetermined constraints; and
program instructions to output, by a user interface, the generated guidance to the user detailing the impact of the implemented modification.

### Claim 16 (depends on 15)

The computer program product of claim 15, further comprising:
responsive to receiving acceptance of the implemented modifications, program instructions to integrate the implemented modifications into the software code, wherein the received acceptance is a varying degree of acceptance.

### Claim 17 (depends on 15)

The computer program product of claim 15, further comprising:
responsive to determining the implemented modifications have not been accepted, program instructions to receive new modifications to the software code based on the generated guidance.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the generated guidance comprises a weighted score based on predetermined measurements that creates a numerical visualization of how compliant the current version of the software code based on the implemented modifications to satisfy the predetermined constraint.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein the weighted score is based on a predetermined threshold, wherein the implemented modifications in the second simulation are automatically integrated when the weighted score is above the predetermined threshold.

### Claim 20 (depends on 15)

The computer program product of claim 15, further comprising:
program instructions to generate a responsive prompt; and
program instructions to output, by the user interface, the responsive prompt to the user based on the generated guidance, wherein the responsive prompt comprises one or more prompts querying the user to accept, modify, and/or cancel the implemented modifications to the software code.
