IP Library Granted Patent US 9,594,549
Granted Patent B2
US 9,594,549 · App. 13/833,622 · Granted Mar 14, 2017

Automated patch generation

Inventors: Laurence A. Hey (Manly, AU); William J. Izard (Sydney, AU); Matthew J. Ponsford (Manly, AU)
Assignee: International Business Machines Corporation
G06F8/65G06F8/60G06F8/71G06F11/36
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 9,594,549
App. No.
13/833,622
Granted
Mar 14, 2017
Kind
B2
Abstract

A computer-implemented method, computer program product, and computing system is provided for generating software patches. In an implementation, a method may include receiving an indication of a software product and a product level of the software product. An indication of a specific defect associated with the software product and the product level may be received. A defect change-set associated with a correction of the specific defect may be identified. An overlapping change-set may be determined based on, at least in part, a source control history associated with the software product. The overlapping change set may occur between the product level and the defect change-set in the source control history and may implicate at least one common file with the defect change-set. A software patch correcting the specific defect may be generated based on the defect change-set and the overlapping change-set.

Claims (20)

1. A computer program product comprising a non-transitory computer readable medium having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations including:

receiving an indication of a software product and a product level of the software product;

receiving an indication of a specific defect associated with the software product and the product level;

automatically identifying a defect change-set associated with a correction of the specific defect based upon, at least in part, a source control history;

automatically identifying a source code change to at least one common file that changed between the product level and the defect change-set, wherein the at least one common file was utilized by the defect change-set based upon, at least in part, the source control history associated with the software product;

automatically determining an overlapping change-set based on, at least in part, the source control history associated with the software product, the overlapping change-set occurring between the product level and the defect change-set in the source control history and implicating the at least one common file with the defect change-set;

mapping a source code change associated with one or more of the defect change-set and the overlapping change-set to a location of one or more built files based on, at least in part, the source control history and a build process associated with the software product, wherein an output of each build of the software product for each defect change-set and overlapping change-set is stored in a build output repository;

returning a list of the required compiled files for a targeted software patch correcting the specific defect;

providing a compiled file report to a user interface for displaying the list of required compiled files; and

generating the targeted software patch correcting the specific defect based on the defect change-set and the overlapping change-set including obtaining an original corresponding container of the product level, unzipping the original corresponding container, and replacing at least one original file of the product level with at least one of built file corresponding to the defect change-set and the overlapping change set.

2. The computer program product of claim 1 , further including instructions for:

retrieving the one or more built files from the build output repository.

3. The computer program product of claim 2 , wherein the instructions for retrieving the one or more built files include instructions for extracting at least one of the one or more built files from a compressed archive within the build output repository.

4. The computer program product of claim 2 , further including instructions for:

determining that at least one of the one or more built files cannot be directly applied to a deployment of the software product; and

merging the at least one of the one or more built files into a container associated with the deployment of the software product.

5. The computer program product of claim 2 , wherein the instructions for generating the targeted software patch further include instructions for:

aggregating the one or more built files into a payload file structure;

packaging the payload file structure into an installable software patch; and

publishing the installable software patch.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2013
From: HEY, LAURENCE A.; IZARD, WILLIAM J.; PONSFORD, MATTHEW J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030011/0324 →
Continuity (1)
Related Publication 20140282459A1 · Sep 18, 2014