IP Library Granted Patent US 10,942,840
Granted Patent B2
US 10,942,840 · App. 16/399,968 · Granted Mar 9, 2021

System and method for managing a code repository

Inventors: Venkat Mattapalli Reddy (Bangalore, IN); Gayatri Singh Balaji (Bangalore, IN); Debra J. Robitaille (Hopkinton, MA); Mark Adam Arakelian (Shirley, MA); Belagapu Pradeep Kumar (Bengaluru, IN); Santosh Govindrao Bhandiwad (Bangalore, IN); Sindhura Chamala (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/3664G06F3/04842G06F8/30G06F8/71G06F11/3684G06F11/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 10,942,840
App. No.
16/399,968
Filed
Apr 30, 2019
Granted
Mar 9, 2021
Kind
B2
Examiner
LEE, MARINA
Art Unit
2192
USPC
717/125
Abstract

A data processing device includes persistent storage and a software development manager. The persistent storage stores a code repository. The software development manager generates commit impact information based on: pre-commit code for a code base stored in the code repository, and dependency data based on committed code of the code base; displays a pre-commit analysis graphic user interface (GUI) reflecting the commit impact information and testing information for the pre-commit code; obtains, using the displayed pre-commit analysis GUI, reviewer feedback regarding approval of the pre-commit code; makes a determination, based on the reviewer feedback, that the pre-commit code has been approved; in response to the determination: performs limited testing of the code base based upon the dependency data to obtain testing results; and commits the pre-commit code to the committed code when the testing results match a predetermined behavior.

Claims (86)

1. A data processing device, comprising:

persistent storage for storing a code repository; and

a computer processor programmed to:

generate commit impact information based on:

pre-commit code for a code base stored in the code repository, and

dependency data based on committed code of the code base;

display a pre-commit analysis graphic user interface (GUI) reflecting the commit impact information and testing information for the pre-commit code;

obtain, using the displayed pre-commit analysis GUI, reviewer feedback regarding approval of the pre-commit code;

make a determination, based on the reviewer feedback, that the pre-commit code has been approved;

in response to the determination:

perform limited testing of the code base based upon the dependency data to obtain testing results; and

commit the pre-commit code to the committed code when the testing results match a predetermined behavior.

2. The data processing device of claim 1 , wherein the pre-commit code is not committed to the committed code when the testing results match a second predetermined behavior.

3. The data processing device of claim 1 , wherein the pre-commit analysis GUI comprises:

a first graphical element representing the commit impact information; and

a second graphical element representing the test information.

4. The data processing device of claim 1 , wherein the commit impact information specifies:

a modification of the committed code that would be caused by updating the committed code using the pre-commit code;

a modification of a function that would be caused by updating the committed code using the pre-commit code;

a modification of a module that would be caused by updating the committed code using the pre-commit code;

a modification of a component that would be caused by updating the committed code using the pre-commit code; and

a modification of an interdependent component that would be caused by updating the committed code using the pre-commit code.

5. The data processing device of claim 1 , wherein the commit impact information specifies:

a modification of a library that would be caused by updating the committed code using the pre-commit code; and

a modification of a binary that would be caused by updating the committed code using the pre-commit code.

6. The data processing device of claim 1 , wherein the test information specifies:

a test that will be performed as part of the limited testing of the code base; and

an estimate of a duration of the limited testing of the code base.

7. The data processing device of claim 1 , wherein performing the limited testing of the code base does not include generation of executables for a portion of the code base that would not be impacted by updating the committed code using the pre-commit code.

8. The data processing device of claim 7 , wherein performing the limited testing of the code base is automated.

9. The data processing device of claim 7 , wherein performing the limited testing of the code base comprises:

generating a binary based on:

a portion of the pre-commit code, and

a portion of the committed code;

deploying the binary to an image associated with the code base to obtain an updated image; and

simulating a workload on the image based on a test case to obtain a portion of the testing results.

10. The data processing device of claim 1 , wherein obtaining, using the displayed pre-commit analysis GUI, the reviewer feedback regarding approval of the pre-commit code comprises:

obtaining first user input associated with the commit impact information;

updating the commit impact information using the first user input; and

obtaining second user input that indicates the reviewer feedback.

11. A method for managing a code repository, comprising:

generating commit impact information based on:

pre-commit code for a code base stored in the code repository, and

dependency data based on committed code of the code base;

displaying a pre-commit analysis graphic user interface (GUI) reflecting the commit impact information and testing information for the pre-commit code;

obtaining, using the displayed pre-commit analysis GUI, reviewer feedback regarding approval of the pre-commit code;

making a determination, based on the reviewer feedback, that the pre-commit code has been approved;

in response to the determination:

performing limited testing of the code base based upon the dependency data to obtain testing results; and

committing the pre-commit code to the committed code when the testing results match a predetermined behavior.

12. The method of claim 11 , wherein the pre-commit code is not committed to the committed code when the testing results match a second predetermined behavior.

13. The method of claim 11 , wherein the pre-commit analysis GUI comprises:

a first graphical element representing the commit impact information; and

a second graphical element representing the test information.

14. The method of claim 11 , wherein the commit impact information specifies:

a modification of the committed code that would be caused by updating the committed code using the pre-commit code;

a modification of a function that would be caused by updating the committed code using the pre-commit code;

a modification of a module that would be caused by updating the committed code using the pre-commit code;

a modification of a component that would be caused by updating the committed code using the pre-commit code; and

a modification of an interdependent component that would be caused by updating the committed code using the pre-commit code.

15. The method of claim 11 , wherein the commit impact information specifies:

a modification of a library that would be caused by updating the committed code using the pre-commit code; and

a modification of a binary that would be caused by updating the committed code using the pre-commit code.

16. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing a code repository, the method comprising:

generating commit impact information based on:

pre-commit code for a code base stored in the code repository, and

dependency data based on committed code of the code base;

displaying a pre-commit analysis graphic user interface (GUI) reflecting the commit impact information and testing information for the pre-commit code;

obtaining, using the displayed pre-commit analysis GUI, reviewer feedback regarding approval of the pre-commit code;

making a determination, based on the reviewer feedback, that the pre-commit code has been approved;

in response to the determination:

performing limited testing of the code base based upon the dependency data to obtain testing results; and

committing the pre-commit code to the committed code when the testing results match a predetermined behavior.

17. The non-transitory computer readable medium of claim 16 , wherein the pre-commit code is not committed to the committed code when the testing results match a second predetermined behavior.

18. The non-transitory computer readable medium of claim 16 , wherein the pre-commit analysis GUI comprises:

a first graphical element representing the commit impact information; and

a second graphical element representing the test information.

19. The non-transitory computer readable medium of claim 16 , wherein the commit impact information specifies:

a modification of the committed code that would be caused by updating the committed code using the pre-commit code;

a modification of a function that would be caused by updating the committed code using the pre-commit code;

a modification of a module that would be caused by updating the committed code using the pre-commit code;

a modification of a component that would be caused by updating the committed code using the pre-commit code; and

a modification of an interdependent component that would be caused by updating the committed code using the pre-commit code.

20. The non-transitory computer readable medium of claim 16 , wherein the commit impact information specifies:

a modification of a library that would be caused by updating the committed code using the pre-commit code; and

a modification of a binary that would be caused by updating the committed code using the pre-commit code.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2019
From: REDDY, VENKAT MATTAPALLI; BALAJI, GAYATRI SINGH; ROBITAILLE, DEBRA J.; ARAKELIAN, MARK ADAM; PRADEEP KUMAR, BELAGAPU; BHANDIWAD, SANTOSH GOVINDRAO; CHAMALA, SINDHURA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049068/0859 →
Continuity (1)
Related Publication 20200349055A1 · Nov 5, 2020
Cited By (1)
US 12,554,699