IP Library Granted Patent US 11,360,882
Granted Patent B2
US 11,360,882 · App. 15/931,035 · Granted Jun 14, 2022

Method and apparatus for calculating a software stability index

Inventors: Subramanya Padubidri (Bangalore, IN); Vinay Kumar M (Mysore, IN); Chethan Kumar B C (Shimoga, IN)
Assignee: Dell Products L.P.
G06F11/3692G06F8/60G06F11/3664G06F11/3688
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,360,882
App. No.
15/931,035
Granted
Jun 14, 2022
Kind
B2
Abstract

A method is provided, comprising: deploying source code to a non-production instance of a software application; executing one or more tests on the non-production instance of the software application and logging any events that are generated during the tests in one or more test logs; retrieving data from the one or more test logs and calculating a stability index for the source code based on the data that is retrieved from the one or more test logs; and deploying the source code to a production-instance of the software application based on the stability index of the source code.

Claims (115)

1. A method, comprising:

deploying source code to a non-production instance of a software application;

executing a plurality of tests on the non-production instance of the software application and logging any events that are generated during the tests in one or more test logs;

retrieving data from the one or more test logs and calculating a stability index for the source code based on the data that is retrieved from the one or more test logs, the stability index being calculated based on respective occurrence rates of a plurality of event types; and

deploying the source code to a production-instance of the software application based on the stability index of the source code,

wherein the respective occurrence rate for any given one of the plurality of event types is based on a percentage of the plurality of tests that result in an event from the given event type.

2. The method of claim 1 , wherein calculating the stability index includes:

identifying the plurality of event types;

identifying the respective occurrence rates for the plurality of event types based on the data that is retrieved from the test logs; and

calculating a weighted average of the respective occurrence rates.

3. The method of claim 2 , wherein the software application includes a web-based application, and the plurality of event types includes one or more of Hypertext Transfer Protocol (HTTP) 500 errors and HTTP 400.

4. The method of claim 1 , wherein deploying the source code to a production instance of the software application includes outputting an indication of the stability index within a user interface of a lifecycle management tool that is used to deploy the production instance of the software application.

5. The method of claim 1 , wherein deploying the source code to a production instance based on the stability index includes enabling a user interface component of a lifecycle management tool based on a value of the stability index, wherein the source code is deployed, by the lifecycle management tool, to the production instance of the software application in response to the user interface component being activated.

6. The method of claim 2 , wherein the stability index is calculated in accordance with the equation of:

stability

index

=

1

-

o

n

(

weight

l

)

(

rate

l

)

n

where weight i is a weight coefficient, rate i is any of the identified respective occurrence rates, and n is an upper bound of summation.

7. The method of claim 1 , wherein the stability index for the source code is generated by a stability index generator that is integrated into a software development pipeline of a lifecycle management tool, and the source code is deployed to the production instance of the software application by the lifecycle management tool.

8. A system, comprising:

a memory; and

at least one processor operatively coupled to the memory, the at least one processor being configured to perform the operations of:

deploying source code to a non-production instance of a software application;

executing a of tests on the non-production instance of the software application and logging any events that are generated during the tests in one or more test logs;

retrieving data from the one or more test logs and calculating a stability index for the source code based on the data that is retrieved from the one or more test logs, the stability index being calculated based on respective occurrence rates of a plurality of event types; and

deploying the source code to a production-instance of the software application based on the stability index of the source code,

wherein the respective occurrence rate for any given one of the plurality of event types is based on a percentage of the plurality of tests that result in an event from the given event type.

9. The system of claim 8 , wherein calculating the stability index includes:

identifying the plurality of event types;

identifying the respective occurrence rates for the plurality of event types based on the data that is retrieved from the test logs; and

calculating a weighted average of the respective occurrence rates.

10. The system of claim 9 , wherein the software application includes a web-based application, and the plurality of event types includes one or more of Hypertext Transfer Protocol (HTTP) 500 errors and HTTP 400 errors.

11. The system of claim 8 , wherein deploying the source code to a production instance of the software application includes outputting an indication of the stability index within a user interface of a lifecycle management tool that is used to deploy the production instance of the software application.

12. The system of claim 8 , wherein deploying the source code to a production instance based on the stability index includes enabling a user interface component of a lifecycle management tool based on a value of the stability index, wherein the source code is deployed, by the lifecycle management tool, to the production instance of the software application in response to the user interface component being activated.

13. The system of claim 9 , wherein the stability index is calculated in accordance with the equation of:

stability

index

=

1

-

o

n

(

weight

l

)

(

rate

l

)

n

where weight i is a weight coefficient, rate i is any of the identified respective occurrence rates, and n is an upper bound of summation.

14. The system of claim 8 , wherein the stability index for the source code is generated by a stability index generator that is integrated into a software development pipeline of a lifecycle management tool, and the source code is deployed to the production instance of the software application by the lifecycle management tool.

15. A non-transitory computer-readable medium storing one or more processor-executable instructions, which, when executed by at least one processor, cause the at least one processor to perform the operations of:

deploying source code to a non-production instance of a software application;

executing a plurality of tests on the non-production instance of the software application and logging any events that are generated during the tests in one or more test logs;

retrieving data from the one or more test logs and calculating a stability index for the source code based on the data that is retrieved from the one or more test logs, the stability index being calculated based on respective occurrence rates of a plurality of event types; and

deploying the source code to a production-instance of the software application based on the stability index of the source code,

wherein the respective occurrence rate for any given one of the plurality of event types is based on a percentage of the plurality of tests that result in an event from the given event type.

16. The non-transitory computer-readable medium of claim 15 , wherein calculating the stability index includes:

identifying the plurality of event types;

identifying the respective occurrence rates for the plurality of event types based on the data that is retrieved from the test logs; and

calculating a weighted average of the respective occurrence rates.

17. The non-transitory computer-readable medium of claim 16 , wherein the software application includes a web-based application, and the plurality of event types includes one or more of Hypertext Transfer Protocol (HTTP) 500 errors and HTTP 400 errors.

18. The non-transitory computer-readable medium of claim 15 , wherein deploying the source code to a production instance of the software application includes outputting an indication of the stability index within a user interface of a lifecycle management tool that is used to deploy the production instance of the software application.

19. The non-transitory computer-readable medium of claim 15 , wherein deploying the source code to a production instance based on the stability index includes enabling a user interface component of a lifecycle management tool based on a value of the stability index, wherein the source code is deployed by the lifecycle management tool to the production instance of the software application in response to the user interface component being activated.

20. The non-transitory computer-readable medium of claim 16 , wherein the stability index is calculated in accordance with the equation of:

stability

index

=

1

-

o

n

(

weight

i

)

(

rate

i

)

n

where weight i is a weight coefficient, rate i is any of the identified respective occurrence rates, and n is an upper bound of summation.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: PADUBIDRI, SUBRAMANYA; M, VINAY KUMAR; B C, CHETHAN KUMAR
To: DELL PRODUCTS L.P.
Reel/Frame 052671/0612 →
Continuity (1)
Related Publication 20210357315A1 · Nov 18, 2021
Cited By (1)
US 12,632,251