# US 10,310,964 B2 · System and method for determining relevance of application software maintenance

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

- Number: US 10,310,964 B2
- Document ID: US10310964B2
- Status: Granted
- Kind: B2
- Application number: 15/652,812
- Filed: 2017-07-18
- Published: 2017-11-30
- Granted: 2019-06-04
- Earliest claimed: 2015-08-20
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Kulvir S. Bhogal; Samir A. Nasser
- Web page: https://patentgrep.com/patent/US10310964B2

## CPC

- G06F 11/3636: {by tracing the execution of the program}
- G06F 8/41: Compilation
- G06F 11/3604: Analysis of software for verifying properties of programs (testing of software G06F11/3668)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and computer system for compiling, by a computing device, a list of hosting software classes included in the hosting software fix pack when a fix is available. An execution path of each application hosted on a hosting software may be recorded. The execution path may be stored in a data store for each application. It may be determined which operations of each application interact with the hosting software. The operations of each application used at runtime that interact with the hosting software may be stored, including storing invoked hosting software operations and classes used by the operations of each application. The invoked hosting software operations and classes may be compared with corresponding operations and classes provided in the list included in the hosting software fix pack. A list of each intersection of the comparison for each application impacted by the hosting software fix pack may be generated.

## Claims

### Claim 1

A computer-implemented method comprising:
compiling, by a computing device, a list of hosting software classes included in a hosting software fix pack when a fix is available;
recording an execution path of each application hosted on a hosting software associated with the hosting software fix pack;
storing the execution path in a data store for each application;
determining which operations of each application interact with the hosting software, wherein determining which operations of each application interact with the hosting software includes generating a checksum for each of the hosting software operations and a checksum for each of the hosting software classes in the execution path;
storing the operations of each application used at runtime that interact with the hosting software, including storing invoked hosting software operations and classes used by the operations of each application;
comparing the invoked hosting software operations and classes used by the operations of each application with corresponding operations and classes provided in the list included in the hosting software fix pack, wherein comparing the invoked hosting software operations and classes includes, comparing the checksum for each of the hosting software operations in the execution path and the checksum for each of the hosting software classes with corresponding checksums provided in the list included in the hosting software fix pack, and upon determining the checksum for each of the hosting software classes in the hosting software fix pack are not equal to the checksum for each of the hosting software classes in the execution path, querying the execution path for each application impacted by a new class; and
generating a list of each intersection of the comparison for each application impacted by the hosting software fix pack.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 wherein the execution path includes a map of each method and corresponding execution path.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1 wherein the execution path includes a map of each class and corresponding checksum.

### Claim 4

A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
compiling a list of hosting software classes included in a hosting software fix pack when a fix is available;
recording an execution path of each application hosted on a hosting software associated with the hosting software fix pack;
storing the execution path in a data store for each application;
determining which operations of each application interact with the hosting software, wherein determining which operations of each application interact with the hosting software includes generating a checksum for each of the hosting software operations and a checksum for each of the hosting software classes in the execution path;
storing the operations of each application used at runtime that interact with the hosting software, including storing invoked hosting software operations and classes used by the operations of each application;
comparing the invoked hosting software operations and classes used by the operations of each application with corresponding operations and classes provided in the list included in the hosting software fix pack, wherein comparing the invoked hosting software operations and classes includes, comparing the checksum for each of the hosting software operations in the execution path and the checksum for each of the hosting software classes with corresponding checksums provided in the list included in the hosting software fix pack, and upon determining the checksum for each of the hosting software classes in the hosting software fix pack are not equal to the checksum for each of the hosting software classes in the execution path, querying the execution path for each application impacted by a new class; and
generating a list of each intersection of the comparison for each application impacted by the hosting software fix pack.

### Claim 5 (depends on 4)

The computer program product of claim 4 wherein the execution path includes a map of each method and corresponding execution path.

### Claim 6 (depends on 4)

The computer program product of claim 4 wherein the execution path includes a map of each class and corresponding checksum.

### Claim 7

A computing system including a processor and a memory configured to perform operations comprising:
compiling a list of hosting software classes included in a hosting software fix pack when a fix is available;
recording an execution path of each application hosted on a hosting software associated with the hosting software fix pack;
storing the execution path in a data store for each application;
determining which operations of each application interact with the hosting software, wherein determining which operations of each application interact with the hosting software includes generating a checksum for each of the hosting software operations and a checksum for each of the hosting software classes in the execution path;
storing the operations of each application used at runtime that interact with the hosting software, including storing invoked hosting software operations and classes used by the operations of each application;
comparing the invoked hosting software operations and classes used by the operations of each application with corresponding operations and classes provided in the list included in the hosting software fix pack, wherein comparing the invoked hosting software operations and classes includes, comparing the checksum for each of the hosting software operations in the execution path and the checksum for each of the hosting software classes with corresponding checksums provided in the list included in the hosting software fix pack, and upon determining the checksum for each of the hosting software classes in the hosting software fix pack are not equal to the checksum for each of the hosting software classes in the execution path, querying the execution path for each application impacted by a new class; and
generating a list of each intersection of the comparison for each application impacted by the hosting software fix pack.

### Claim 8 (depends on 7)

The computing system of claim 7 wherein the execution path includes a map of each method and corresponding execution path.
