IP Library Granted Patent US 11,625,240
Granted Patent B1
US 11,625,240 · App. 17/487,805 · Granted Apr 11, 2023

Generating rules for migrating dependencies of a software application

Inventors: Marco Rizzi (Milan, IT); Paolo Antinori (Milan, IT)
Assignee: RED HAT, INC.
G06F8/71G06F8/433G06F8/436G06F8/447G06F8/73
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 11,625,240
App. No.
17/487,805
Granted
Apr 11, 2023
Kind
B1
Abstract

Rules can be generated for migrating dependencies of a software application. For example, a computing device can receive a source version of a dependency of a software application and a target version of the dependency of the software application. The computing device can compare the source version to the target version to determine a difference between the source version and the target version. The computing device can receive a template for a rule indicating a location in the source version to be modified for the software application to support the target version. The template can include a fillable section. The computing device can populate the fillable section of the template with a value based on the difference between the source version and the target version.

Claims (58)

1. A system comprising:

a processor; and

a memory including instructions that are executable by the processor for causing the processor to:

receive a source version of a dependency of a software application and a target version of the dependency of the software application, the dependency being used by the software application to perform one or more tasks of the software application;

compare the source version of the dependency to the target version of the dependency to determine a difference between the source version of the dependency and the target version of the dependency;

receive a template for a rule indicating a location in the source version of the dependency to be modified for the software application to support the target version of the dependency, the template including a fillable section;

populate the fillable section of the template with a value based on the difference between the source version of the dependency and the target version of the dependency; and

output a report including the rule and a modification for the source version of the dependency for the software application to support the target version of the dependency.

2. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

determine a plurality of differences between the source version of the dependency and the target version of the dependency;

classify each difference of the plurality of differences based on a severity of the difference;

filter the plurality of differences into a subset of differences, the severity of each difference in the subset of differences being above a threshold; and

generate, for each difference of the subset of differences, the rule by populating the fillable section of the template based on the difference.

3. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to select the template from a plurality of templates based on the difference between the source version of the dependency and the target version of the dependency.

4. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to store the rule in a repository of rules subsequent to populating the fillable section of the template.

5. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to generate a test for the rule by:

subsequent to populating the fillable section of the template, receiving a test template for the rule, the test template including an additional fillable section; and

populating the additional fillable section based on the rule.

6. The system of claim 5 , wherein the memory further includes instructions that are executable by the processor for causing the processor to store the rule and the test for the rule in a repository.

7. The system of claim 1 , wherein the difference comprises semantic information about the source version of the dependency and the target version of the dependency.

8. A method comprising:

receiving a source version of a dependency of a software application and a target version of the dependency of the software application, the dependency being used by the software application to perform one or more tasks of the software application;

comparing the source version of the dependency to the target version of the dependency to determine a difference between the source version of the dependency and the target version of the dependency;

receiving a template for a rule indicating a location in the source version of the dependency to be modified for the software application to support the target version of the dependency, the template including a fillable section;

populating the fillable section of the template with a value based on the difference between the source version of the dependency and the target version of the dependency; and

outputting a report including the rule and a modification for the source version of the dependency for the software application to support the target version of the dependency.

9. The method of claim 8 , further comprising:

determining a plurality of differences between the source version of the dependency and the target version of the dependency;

classifying each difference of the plurality of differences based on a severity of the difference;

filtering the plurality of differences into a subset of differences, the severity of each difference in the subset of differences being above a threshold; and

generating, for each difference of the subset of differences, the rule by populating the fillable section of the template based on the difference.

10. The method of claim 8 , further comprising:

selecting the template from a plurality of templates based on the difference between the source version of the dependency and the target version of the dependency.

11. The method of claim 8 , further comprising:

storing the rule in a repository of rules subsequent to populating the fillable section of the template.

12. The method of claim 8 , further comprising generate a test for the rule by:

subsequent to populating the fillable section of the template, receiving a test template for the rule, the test template including an additional fillable section; and

populating the additional fillable section based on the rule.

13. The method of claim 12 , further comprising:

storing the rule and the test for the rule in a repository.

14. The method of claim 8 , wherein the difference comprises semantic information about the source version of the dependency and the target version of the dependency.

15. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to:

receive a source version of a dependency of a software application and a target version of the dependency of the software application, the dependency being used by the software application to perform one or more tasks of the software application;

compare the source version of the dependency to the target version of the dependency to determine a difference between the source version of the dependency and the target version of the dependency;

receive a template for a rule indicating a location in the source version of the dependency to be modified for the software application to support the target version of the dependency, the template including a fillable section;

populate the fillable section of the template with a value based on the difference between the source version of the dependency and the target version of the dependency; and

output a report including the rule and a modification for the source version of the dependency for the software application to support the target version of the dependency.

16. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by a processor for causing the processor to:

determine a plurality of differences between the source version of the dependency and the target version of the dependency;

classify each difference of the plurality of differences based on a severity of the difference;

filter the plurality of differences into a subset of differences, the severity of each difference in the subset of differences being above a threshold; and

generate, for each difference of the subset of differences, the rule by populating the fillable section of the template based on the difference.

17. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by a processor for causing the processor to select the template from a plurality of templates based on the difference between the source version of the dependency and the target version of the dependency.

18. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by a processor for causing the processor to store the rule in a repository of rules subsequent to populating the fillable section of the template.

19. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by a processor for causing the processor to generate a test for the rule by:

subsequent to populating the fillable section of the template, receiving a test template for the rule, the test template including an additional fillable section; and

populating the additional fillable section based on the rule.

20. The non-transitory computer-readable medium of claim 19 , further comprising program code that is executable by a processor for causing the processor to store the rule and the test for the rule in a repository.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2021
From: RIZZI, MARCO; ANTINORI, PAOLO
To: RED HAT, INC.
Reel/Frame 057627/0915 →