IP Library Granted Patent US 8,843,882
Granted Patent B1
US 8,843,882 · App. 14/097,550 · Granted Sep 23, 2014

Systems, methods, and algorithms for software source code analytics and software metadata analysis

Inventors: Bardia Dejban (Los Angeles, CA); Jamie Snider (Los Angeles, CA); Gary Rudolph (Los Angeles, CA)
Assignee: Codalytics, Inc.
G06F8/77
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 8,843,882
App. No.
14/097,550
Granted
Sep 23, 2014
Kind
B1
Abstract

A system and method capable of summarizing data for all of a software company's engineers, repos (projects) and the entire organization so the executives and managers of the organization can make better decisions. The system is configured to fetch and mine data related to the end-user's organization, projects, people, source code and source code metadata and use proprietary algorithms to calculate various scores such as Velocity, Churn and Skill. The end-user is able to see the various scores, including a Master Score, for various contexts such as the Organization, repos (projects) or individuals (engineers). The score provides a CTO or VP of Engineering, for instance, with a quick health status that would otherwise be unknown or very time-consuming to obtain.

Claims (43)

1. A method of operating a source control management system, comprising:

an application engine fetching data files from at least one repository, the data files comprising source code, source code metadata and programming language metadata;

processing the data files by aggregating additions, deletions and total changes to the data files per repository, user and contributor of the data files to create summary data;

processing each of the data files for each commit in each said repository and extracting diff hunk information;

calculating score data comprising velocity and churn for each repository, user and contributor; and

calculating a master score as a function of the velocity and the churn for each repository, user and contributor.

2. The method as specified in claim 1 further comprising calculating the score data to include skill for each repository, user and contributor.

3. The method as specified in claim 1 further comprising displaying the score data as a function of a selectively established time period.

4. The method as specified claim 1 further comprising displaying the score data as a function of a selectively established contributor.

5. The method as specified claim 1 further comprising displaying the score data as a function of a predetermined set of data.

6. A method of operating a source control management system, comprising:

an application engine fetching data files from at least one repository, the data files comprising source code, source code metadata and programming language metadata;

processing the data files by aggregating additions, deletions and total changes to the data files per repository, user and contributor of the data files to create summary data;

processing each of the data files for each commit in each said repository and extracting diff hunk information; and

calculating score data comprising velocity and churn for each repository, user and contributor; and

displaying the velocity and churn for each repository, user and contributor.

7. The method as specified in claim 6 further comprising displaying the score data in a hierarchical format for each repository, user and contributor.

8. The method as specified in claim 7 further comprising displaying historical score data for each repository, user and contributor.

9. A method of operating a source control management system, comprising:

an application engine fetching data files from at least one repository, the data files comprising source code, source code metadata and programming language metadata;

processing the data files by aggregating additions, deletions and total changes to the data files per repository, user and contributor of the data files to create summary data;

processing each of the data files for each commit in each said repository and extracting diff hunk information;

calculating score data comprising velocity and churn for each repository, user and contributor; and

displaying the score data as a function of a selectively established repository.

10. A source control management system, comprising:

an application engine configured to fetch data files from at least one repository, the data files comprising source code, source code metadata and programming language metadata;

a processor configured to process the data files by aggregating additions, deletions and total changes to the data files per repository, user and contributor of the data files to create summary data;

the processor further configured to process each of the data files for each commit in each said repository and extract diff hunk information, and calculate score data comprising velocity and churn for each repository, user and contributor; and

wherein the processor is configured to calculate a master score as a function of the velocity and the churn for each repository, user and contributor.

11. The source control management system as specified in claim 10 wherein the processor is configured to calculate the score data to include skill for each repository, user and contributor.

12. The source control management system as specified in claim 10 wherein the processor is configured to display the score data as a function of a selectively established time period.

13. The source control management system as specified claim 10 wherein the processor is configured to display the score data as a function of a selectively established contributor.

14. The source control management system as specified claim 10 wherein the processor is configured to display the score data as a function of a predetermined set of data.

15. A source control management system, comprising:

an application engine configured to fetch data files from at least one repository, the data files comprising source code, source code metadata and programming language metadata; and

a processor configured to process the data files by aggregating additions, deletions and total changes to the data files per repository, user and contributor of the data files to create summary data;

the processor further configured to process each of the data files for each commit in each said repository and extract diff hunk information, and calculate score data comprising velocity and churn for each repository, user and contributor, wherein the processor is configured to display the velocity and churn for each repository, user and contributor.

16. The source control management system as specified in claim 15 wherein the processor is configured to display the score data in a hierarchical format for each repository, user and contributor.

17. The source control management system as specified in claim 16 wherein the processor is configured to display historical score data for each repository, user and contributor.

18. A source control management system, comprising:

an application engine configured to fetch data files from at least one repository, the data files comprising source code, source code metadata and programming language metadata;

a processor configured to process the data files by aggregating additions, deletions and total changes to the data files per repository, user and contributor of the data files to create summary data;

the processor further configured to process each of the data files for each commit in each said repository and extract diff hunk information, and calculate score data comprising velocity and churn for each repository, user and contributor, wherein the processor is configured to display the score data as a function of a selectively established repository.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED ON REEL 033464 FRAME 0955. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 11, 2014
From: DEJBAN, BARDIA; SNIDER, JAMIE; RUDOLPH, GARY
To: CODALYTICS, INC.
Reel/Frame 033717/0665 →
CONVERSION AND CHANGE OF NAME Recorded Aug 4, 2014
From: GITVIZ, LLC
To: CODALYTICS, INC.
Reel/Frame 033464/0955 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2013
From: DEJBAN, BARDIA; SNIDER, JAMIE; RUDOLPH, GARY
To: GITVIZ, LLC
Reel/Frame 031722/0196 →