IP Library Granted Patent US 9,921,948
Granted Patent B2
US 9,921,948 · App. 15/028,725 · Granted Mar 20, 2018

Software commit risk level

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,921,948
App. No.
15/028,725
Granted
Mar 20, 2018
Kind
B2
Abstract

A risk level of a software commit is assessed through the use of a classifier. The classifier may be generated based on attributes pertaining to previous commits and used to determine a risk level for deployment of a software commit into a production environment based on attributes extracted from the software commit.

Claims (43)

1. A method, comprising:

generating, by a processor, a classifier for attributes of previous software commits, wherein the previous software commits are code that has already been deployed, and wherein generating the classifier includes classifying the attributes of the previous software commits into three classes: a first class based on a frequency of update of the previous software commits, a second class based on successful levels of the previous software commits, and a third class based on code complexity of the previous software commits;

extracting, by the processor, attributes pertaining to a new software commit, wherein the new software commit is code that has not been deployed; and

running, by the processor, the classifier on the extracted attributes of the new software commit to determine a risk level for deployment of the new software commit into a production environment to determine whether or not to skip a testing phase,

wherein generating the classifier of the previous software commits includes:

removing one of the previous software commits from the data structure,

calculating a classifier on the previous software commits remaining in the data structure,

running the calculated classifier on the removed software commit, and

comparing a risk level label returned by the calculated classifier to an actual risk level label of the removed software commit.

2. The method of claim 1 , wherein the attributes of the new software commit include an attribute that provides information about the new software commit, an attribute that provides information about a label for the new software commit, and an attribute indicative of the code complexity of the new software commit for which the risk level is determined.

3. The method of claim 1 , wherein the risk level includes a plurality of levels.

4. The method of claim 1 , further comprising:

storing the previous software commits in a table of the data structure, the table including a column of the attributes of the previous software commits and a column of labels indicating the successful levels of the previous software commits.

5. A non-transitory computer-readable storage device containing instructions that, when executed by a processor, cause the processor to:

generate a classifier for attributes of previous software commits, wherein the previous software commits are code that has already been deployed;

determine a plurality of attributes pertaining to a new software commit, wherein the new software commit is code that has not been deployed; and

use the classifier to classify the attributes of the new software commit to determine a risk level for deployment of the new software commit into a production environment to determine whether or not to skip a testing phase,

wherein, to generate the classifier, the instructions are to cause the processor to:

remove one of the previous software commits stored in a data structure,

calculate the classifier on the previous software commits remaining in the data structure,

run the calculated classifier on the removed software commit, and

compare a risk level label returned by the calculated classifier to an actual risk level label of the removed software commit.

6. The non-transitory computer-readable storage device of claim 5 , wherein, to generate the classifier for the attributes of the previous software commits, the instructions are to cause the processor to:

classify the attributes of the previous software commits into three classes: a first class based on a frequency of update of the previous software commits, a second class based on successful levels of the previous software commits, and a third class based on code complexity of the previous software commits.

7. The non-transitory computer-readable storage device of claim 6 , wherein, when executed, the instructions are to cause the processor to validate the classifier.

8. The non-transitory computer-readable storage device of claim 5 , wherein the attributes of the new software commit include an attribute that provides information about the new software commit and an attribute that provides information about a label for the new software commit.

9. The non-transitory computer-readable storage device of claim 5 , wherein the attributes of the new software commit include an attribute indicative of code complexity of the new software commit for which the risk level is determined.

10. The non-transitory computer-readable storage device of claim 5 , wherein the new software commit includes an update to an existing software application.

11. The non-transitory computer-readable storage device of claim 5 , wherein the data structure includes a plurality of entries that store the attributes of the previous software commits and labels indicating successful levels of the previous software commits.

12. A system, comprising:

a data structure to store a plurality of software commits that have already been deployed, each software commit in the data structure to include a plurality of attributes and a label indicating a success level of the software commit;

a processor; and

a memory storing instructions that when executed cause the processor to:

generate a classifier for the plurality of attributes of the software commits from the data structure,

determine an attribute of a new software commit that has not been deployed, and

run the classifier to classify the attribute of the new software commit to determine a risk level for deployment of the new software commit into a production environment to determine whether or not to skip a testing phase,

wherein, to generate the classifier, the instructions are to cause the processor to:

remove one of the previous software commits from the data structure,

calculate the classifier on the previous software commits remaining in the data structure,

run the calculated classifier on the removed software commit, and

compare a risk level label returned by the calculated classifier to an actual risk level label of the removed software commit.

13. The system of claim 12 , wherein the attribute of the new software commit includes a measure of code complexity of the new software commit for which the risk level is determined.

14. The system of claim 12 , wherein to generate the classifier, the instructions are to cause the processor to classify the plurality of attributes of the software commits into three classes: a first class based on a frequency of an update of the software commits, a second class based on successful levels of the software commits, and a third class based on code complexity of the software commits.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063546/0181) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: MICRO FOCUS LLC
Reel/Frame 067807/0076 →
SECURITY INTEREST Recorded Aug 30, 2023
From: MICRO FOCUS LLC
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064760/0862 →
SECURITY INTEREST Recorded May 4, 2023
From: MICRO FOCUS LLC
To: BARCLAYS BANK PLC
Reel/Frame 063546/0181 →
SECURITY INTEREST Recorded May 4, 2023
From: MICRO FOCUS LLC
To: BARCLAYS BANK PLC
Reel/Frame 063546/0190 →
SECURITY INTEREST Recorded May 4, 2023
From: MICRO FOCUS LLC
To: BARCLAYS BANK PLC
Reel/Frame 063546/0230 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2016
From: ZIEDER, GIL; KOZOROVITZKY, BORIS; ELIASSAF, OFER; EGOZI LEVI, EFRAT; ASSULIN, OHAD
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 040345/0360 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2016
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 038536/0001 →