IP Library Granted Patent US 12,147,801
Granted Patent B2
US 12,147,801 · App. 17/860,948 · Granted Nov 19, 2024

Software aided governance for project contribution on source code management (SCM) and continuous integration (CI) environments

Inventors: Alessio Soldano (Milan, IT); Paolo Antinori (Milan, IT)
Assignee: Red Hat, Inc.
G06F8/71G06F11/3428
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 12,147,801
App. No.
17/860,948
Granted
Nov 19, 2024
Kind
B2
Abstract

Techniques for processing change requests for software projects are disclosed. An example method includes generating a contributor score for a contributor of source code to a software project and saving the contributor score to a storage device. The contributor score reflects a degree to which source code submissions by the contributor are trustworthy. The method also includes receiving a change request from the contributor to change a part of the software project. The change request includes new or updated source code for the software project. The method also includes, in response to receiving the change request, retrieving the contributor score from the storage device, comparing, by a processing device, the contributor score to a threshold to identify an action to be performed in relation to the change request, and executing the action.

Claims (53)

1. A method comprising:

generating a contributor score for a contributor of source code to a software project and saving the contributor score to a storage device, wherein the contributor score reflects a degree to which source code submissions by the contributor are trustworthy;

executing a performance test of the software project, generating a relevance score for each section of the software project based on results of the performance test, and storing the relevance score to the storage device, wherein the relevance score for a particular section indicates a degree to which that particular section consumes processing resources during execution;

receiving a change request from the contributor to change a part of the software project, wherein the change request includes new or updated source code for the software project; and

in response to receiving the change request:

identifying sections of the software project affected by the new or updated source code;

for each identified section, retrieving the relevance score for the identified section, and determining whether to performance test the identified section based on the relevance score;

retrieving the contributor score from the storage device;

comparing, by a processing device, the contributor score to a threshold to identify an action to be performed in relation to the change request; and

executing the action.

2. The method of claim 1 , wherein the action comprises generating a report that describes the change request and includes the contributor score, the method further comprising automatically sending the generated report to a change request reviewer.

3. The method of claim 2 , wherein the contributor score is one contributor score among a plurality of contributor scores for the contributor, wherein the each of the plurality of contributor scores applies to a particular section of the software project, and wherein generating the report comprises associating a section of the source code with a corresponding one of the plurality of contributor scores for the particular section of the software project affected by the section of the source code.

4. The method of claim 1 , wherein the storage device stores contributor scores for a plurality of additional contributors identified as possible reviewers, the method further comprising identifying a reviewer among the possible reviewers to review the source code based on the contributor score associated with the reviewer.

5. The method of claim 1 , wherein generating the contributor score comprises:

identifying previous source code committed to the software project for the contributor; and

determining how much of the previous source code is still included in the software project unchanged.

6. A system comprising:

a memory; and

a processing device, operatively coupled to the memory, the processing device to:

generate a contributor score for a contributor of source code to a software project and save the contributor score to a storage device, wherein the contributor score reflects a degree to which source code submissions by the contributor are trustworthy;

execute a performance test of the software project, generate a relevance score for each section of the software project based on results of the performance test, and store the relevance score for each section of the software project to the storage device, wherein the relevance score for a particular section indicates a degree to which the particular section consumes processing resources during execution;

receive a change request from the contributor to change a part of the software project, wherein the change request includes new or updated source code for the software project; and

in response to the change request:

identify sections of the software project affected by the new or updated source code; and

for each identified section, retrieve the relevance score for the identified section, and determine whether to performance test the identified section based on the relevance score;

retrieve the contributor score from the storage device;

compare the contributor score to a threshold to identify an action to be performed in relation to the change request; and

execute the action.

7. The system of claim 6 , wherein the action comprises to add the change request and the contributor score to a report, and automatically send the generated report to a change request reviewer.

8. The system of claim 6 , wherein the storage device stores contributor scores for a plurality of additional contributors identified as possible reviewers, and the processing device is further to:

identify a reviewer among the possible reviewers to review the source code based on the contributor score associated with the reviewer; and

generate a notification and send the notification to the identified reviewer to alert the reviewer that the reviewer has been assigned to review the source code.

9. The system of claim 6 , wherein to generate the contributor score, the processing device is to:

weigh the contributor score more heavily based on the relevance score associated with sections of the software project affected by the previous source code committed to the software project by the contributor.

10. The system of claim 6 , wherein to generate the contributor score, the processing device is to:

identify previous source code committed to the software project for the contributor; and

determine how much of the previous source code is still included in the software project unchanged.

11. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

execute a performance test of a software project, generate a relevance score for each section of the software project based on results of the performance test, and store the relevance score to the storage device, wherein the relevance score for a particular section indicates a degree to which that particular section consumes processing resources during execution;

receive a change request from a contributor to change a part of the software project, wherein the change request includes new or updated source code for the software project; and

in response to the change request:

identify sections of the software project affected by the new or updated source code;

for each identified section, retrieve the relevance score for the identified section, and determine whether to performance test the identified section based on the relevance score;

retrieve a contributor score from a storage device, wherein the contributor score reflects a degree to which source code submissions by the contributor are trustworthy;

compare, by the processing device, the contributor score to a specified threshold to identify an action to be performed in relation to the change request; and

execute the action.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the action comprises to add the change request and the contributor score to a report, and automatically send the generated report to a change request reviewer.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the storage device stores contributor scores for a plurality of additional contributors identified as possible reviewers, and the processing device is further to:

identify a reviewer among the possible reviewers to review the source code based on the contributor score associated with the reviewer; and

generate a notification and send the notification to the identified reviewer to alert the reviewer that the reviewer has been assigned to review the source code.

14. The non-transitory computer-readable storage medium of claim 11 , wherein to generate the contributor score, the processing device is to:

identify previous source code committed to the software project for the contributor; and

determine how much of the previous source code is still included in the software project unchanged.

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 Jul 11, 2022
From: SOLDANO, ALESSIO; ANTINORI, PAOLO
To: RED HAT, INC.
Reel/Frame 060469/0120 →