IP Library › Granted Patent US 11,288,061
Granted Patent B1
US 11,288,061 · App. 17/101,529 · Granted Mar 29, 2022

Tracking software assets generated from source code using a build pipeline

Inventors: Robert L. Johnson (Louisville, KY); Brett Edwards (Louisville, KY); Andrew Foster (Coxs Creek, KY); Michael Lochowitz (Green Bay, WI)
Assignee: Humana Inc.
G06F8/71G06F8/51G06F8/77G06F9/3836G06F9/4881
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,288,061
App. No.
17/101,529
Granted
Mar 29, 2022
Kind
B1
Abstract

A build system stores source code in source code repositories and generates deployment artifacts from a build pipeline. The build system receives requirements associated with certification criteria for certifying a deployment artifact based on the source code. The build system executes a build pipeline including build tasks that compile the source code to generate executable files storing executable instructions. The build system evaluates the certification criteria based on results of execution of the build tasks. The build system determines whether the deployment artifact is a certified deployment artifact based on the result of evaluation of the certification criteria. The build system stores a software asset information document in a source code repository identifying software assets build using the source code repository, for example, as a YAML file. The builds system generates reports that relate information describing source code repositories with software assets built using the source code repositories.

Claims (70)

1. A computer-implemented method executed by a build system comprising:

storing, in a build system, a plurality of source code repositories, wherein a source code repository includes a software asset information document identifying one or more software assets build using the source code repository, wherein each software asset is deployed as an executable file generated by compiling source code stored in one or more source code repositories;

receiving, from a requestor, a request identifying one or more software assets built using source code repositories stored in the build system;

for each of the one or more software assets identified in the request, obtaining information describing source code repositories associated with the software asset comprising:

identifying one or more source code repositories wherein the software asset information document of each identified source code repository identifies the software asset; and

extracting one or more attributes of each of the one or more source code repositories;

generating a report based on the source code repositories associated with each of the one or more software assets, the report based on attributes of the source code repositories; and

sending the generated report to the requestor.

2. The method of claim 1 , further comprising:

for a source code repository associated with an identified software asset, determining a certification criteria for deployment artifacts based on information describing the identified software asset.

3. The method of claim 1 , further comprising:

for a source code repository associated with an identified software asset, adjusting schedule of one or more tasks associated with the source code repository based on information describing the identified software asset.

4. The method of claim 3 , wherein the one or more tasks comprise development or testing of a feature associate with the source code repository or fixing a defect in the source code repository.

5. The method of claim 3 , wherein the information describing the identified software asset comprises, one or more of:

a rate of download of a deployment artifact for the software asset,

a rate of user interactions with the software asset.

6. The method of claim 1 , further comprising:

for a source code repository associated with an identified software asset, identifying a set of users associated with development of the source code repository and sending a message associated with the software asset to the set of users.

7. The method of claim 1 , wherein the one or more attributes comprise a number of defects in the source code repository that were either identified or fixed in a particular time interval, the generated report describing the number of defects associated with software assets.

8. The method of claim 1 , wherein the generated report is a first generated report, further comprising:

for a source code repository associated with an identified software asset, receiving modification to the source code repository, the modification causing one or more of: renaming the source code repository or moving of a path of the source code repository in the source code; and

generating a second report based on the source code repositories associated with each of the one or more software assets, wherein the information describing the identified software asset in the second report matches the information describing the identified software asset in the first report.

9. The method of claim 1 , further comprising:

for each of one or more source code repositories, identifying the set of software assets built using the source code repository based on the software asset information document of the source code repository;

determining a metric indicating a level of usage of the source code repository based on the level of usage of each of the set of software assets built using the source code repository; and

reporting the metric indicating the level of usage of the source code repository.

10. The method of claim 1 , wherein the request is an auditing request for the one or more software assets, the method further comprising:

for each of the source code repositories associated with the one or more software assets, accessing the build logs; and

extracting information describing the certification criteria for deployment of software assets based on the source code repositories from the build logs; and

including the information extracted from the build logs in the auditing request.

11. A computer readable non-transitory storage medium storing instructions thereon, the instructions when executed by a processor cause the processor to perform the steps of:

storing, in a build system, a plurality of source code repositories, wherein a source code repository includes a software asset information document identifying one or more software assets build using the source code repository, wherein each software asset is deployed as an executable file generated by compiling source code stored in one or more source code repositories;

receiving, from a requestor, a request identifying one or more software assets built using source code repositories stored in the build system;

for each of the one or more software assets identified in the request, obtaining information describing source code repositories associated with the software asset comprising:

identifying one or more source code repositories wherein the software asset information document of each identified source code repository identifies the software asset; and

extracting one or more attributes of each of the one or more source code repositories;

generating a report based on the source code repositories associated with each of the one or more software assets, the report based on attributes of the source code repositories; and

sending the generated report to the requestor.

12. The computer readable non-transitory storage medium of claim 11 , wherein the instructions when executed by the processor, further cause the processor to perform the step of:

for a source code repository associated with an identified software asset, determining a certification criteria for deployment artifacts based on information describing the identified software asset.

13. The computer readable non-transitory storage medium of claim 11 , wherein the instructions when executed by the processor, further cause the processor to perform the step of:

for a source code repository associated with an identified software asset, adjusting schedule of one or more tasks associated with the source code repository based on information describing the identified software asset.

14. The computer readable non-transitory storage medium of claim 13 , wherein the one or more tasks comprise development or testing of a feature associate with the source code repository or fixing a defect in the source code repository.

15. The computer readable non-transitory storage medium of claim 13 , wherein the information describing the identified software asset comprises, one or more of:

a rate of download of a deployment artifact for the software asset,

a rate of user interactions with the software asset.

16. The computer readable non-transitory storage medium of claim 11 , wherein the instructions when executed by the processor, further cause the processor to perform the step of:

for a source code repository associated with an identified software asset, identifying a set of users associated with development of the source code repository and sending a message associated with the software asset to the set of users.

17. The computer readable non-transitory storage medium of claim 11 , wherein the one or more attributes comprise a number of defects in the source code repository that were either identified or fixed in a particular time interval, the generated report describing the number of defects associated with software assets.

18. The computer readable non-transitory storage medium of claim 11 , wherein the generated report is a first generated report, wherein the instructions when executed by the processor, further cause the processor to perform the step of:

for a source code repository associated with an identified software asset, receiving modification to the source code repository, the modification causing one or more of: renaming the source code repository or moving of a path of the source code repository in the source code; and

generating a second report based on the source code repositories associated with each of the one or more software assets, wherein the information describing the identified software asset in the second report matches the information describing the identified software asset in the first report.

19. The computer readable non-transitory storage medium of claim 11 , wherein the instructions when executed by the processor, further cause the processor to perform the step of:

for each of one or more source code repositories, identifying the set of software assets built using the source code repository based on the software asset information document of the source code repository;

determining a metric indicating a level of usage of the source code repository based on the level of usage of each of the set of software assets built using the source code repository; and

reporting the metric indicating the level of usage of the source code repository.

20. The computer readable non-transitory storage medium of claim 11 , wherein the request is an auditing request for the one or more software assets, the method further comprising:

for each of the source code repositories associated with the one or more software assets, accessing the build logs; and

extracting information describing the certification criteria for deployment of software assets based on the source code repositories from the build logs; and

including the information extracted from the build logs in the auditing request.

21. A computer system, comprising:

a computer processor; and

a computer readable non-transitory storage medium storing instructions thereon, the instructions when executed by the processor cause the processor to perform the steps of:

storing, in a build system, a plurality of source code repositories, wherein a source code repository includes a software asset information document identifying one or more software assets build using the source code repository, wherein each software asset is deployed as an executable file generated by compiling source code stored in one or more source code repositories;

receiving, from a requestor, a request identifying one or more software assets built using source code repositories stored in the build system;

for each of the one or more software assets identified in the request, obtaining information describing source code repositories associated with the software asset comprising:

identifying one or more source code repositories wherein the software asset information document of each identified source code repository identifies the software asset; and

extracting one or more attributes of each of the one or more source code repositories;

generating a report based on the source code repositories associated with each of the one or more software assets, the report based on attributes of the source code repositories; and

sending the generated report to the requestor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2022
From: MEYER, CHARLES; CHASE, BARRY
To: HUMANA INC.
Reel/Frame 060163/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2021
From: JOHNSON, ROBERT L.; EDWARDS, BRETT; FOSTER, ANDREW; LOCHOWITZ, MICHAEL
To: HUMANA INC.
Reel/Frame 058262/0975 →
Cited By (4)
US 12,554,625 US 12,585,463 US 12,619,735 US 12,748,861