IP Library › Granted Patent US 10,831,471
Granted Patent B2
US 10,831,471 · App. 16/040,431 · Granted Nov 10, 2020

Source code file recommendation notification

Inventors: Stanislaw Wiktor Swierc (Redmond, WA); Hitesh Shyamlal Sajnani (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/71G06F9/453G06F16/27G06F17/18G06N20/00
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,831,471
App. No.
16/040,431
Granted
Nov 10, 2020
Kind
B2
Abstract

A computing device is provided, including a non-volatile storage device and a processor configured to execute a distributed version control system. The processor may, via the distributed version control system, receive a pull request to apply a first set of one or more source code files to a project database. In response to receiving the pull request, the processor may identify a second set of one or more source code files based at least in part on a recommendation ruleset including one or more association rules identified for a plurality of training pull requests applied to a training project database. The recommendation ruleset may be determined based at least in part on a respective last iteration of each training pull request. The processor may output a source code file recommendation notification including an indication of each source code file of the second set.

Claims (47)

1. A computing device, comprising:

a non-volatile storage device; and

a processor configured to:

execute a distributed version control system stored in the non-volatile storage device;

via the distributed version control system, receive a pull request to apply a first set of one or more source code files to a project database for a project;

in response to receiving the pull request, identify a second set of one or more source code files based at least in part on a recommendation ruleset including one or more association rules identified by a machine learning algorithm,

wherein the machine learning algorithm is trained using a plurality of training pull requests applied to a training project database for a training project that is different than the project database for the project,

wherein the recommendation ruleset is determined based only on a respective last iteration of each training pull request; and

output a source code file recommendation notification including an indication of each source code file of the second set of one or more source code files.

2. The computing device of claim 1 , wherein each association rule included in the recommendation ruleset has a support exceeding a predefined support threshold.

3. The computing device of claim 1 , wherein each association rule included in the recommendation ruleset has a confidence exceeding a predefined confidence threshold.

4. The computing device of claim 1 , wherein each association rule included in the recommendation ruleset has a lift exceeding a predefined lift threshold.

5. The computing device of claim 1 , wherein the first set of one or more source code files includes a modification to one or more prior source code files applied to the project database in response to one or more prior pull requests.

6. The computing device of claim 1 , wherein the second set of one or more source code files are identified based at least in part on one or more respective file system locations of the first set of one or more source code files.

7. The computing device of claim 1 , wherein the second set of one or more source code files are identified based at least in part on one or more substrings included in respective file names of the first set of one or more source code files.

8. The computing device of claim 1 , wherein the second set of one or more source code files are identified based at least in part on respective file extensions of the first set of one or more source code files.

9. The computing device of claim 1 , further comprising a display, wherein:

the processor is further configured to output for display on the display a graphical user interface (GUI) of the distributed version control system; and

the source code file recommendation notification is included in the GUI.

10. The computing device of claim 1 , wherein:

for each source code file of the second set of one or more source code files, the processor is further configured to determine an estimated probability that a modification to the source code file will be added to the pull request; and

the second set of one or more source code files are ranked in the source code file recommendation notification based on the respective estimated probabilities of each source code file being added to the pull request.

11. A method performed at a processor of a computing device, the method comprising:

executing a distributed version control system;

via the distributed version control system, receiving a pull request to apply a first set of one or more source code files to a project database for a project;

in response to receiving the pull request, identifying a second set of one or more source code files based at least in part on a recommendation ruleset including one or more association rules identified by a machine learning algorithm,

wherein the machine learning algorithm is trained using a plurality of training pull requests applied to a training project database for a training project that is different than the project database for the project,

wherein the recommendation ruleset is determined based only on a respective last iteration of each training pull request; and

outputting a source code file recommendation notification including an indication of each source code file of the second set of one or more source code files.

12. The method of claim 11 , wherein each association rule included in the recommendation ruleset has a support exceeding a predefined support threshold.

13. The method of claim 11 , wherein each association rule included in the recommendation ruleset has a confidence exceeding a predefined confidence threshold.

14. The method of claim 11 , wherein each association rule included in the recommendation ruleset has a lift exceeding a predefined lift threshold.

15. The method of claim 11 , wherein the first set of one or more source code files includes a modification to one or more prior source code files applied to the project database in response to one or more prior pull requests.

16. The method of claim 11 , wherein the second set of one or more source code files are identified based at least in part on one or more respective file system locations of the first set of one or more source code files.

17. The method of claim 11 , wherein the second set of one or more source code files are identified based at least in part on one or more substrings included in respective file names of the first set of one or more source code files.

18. The method of claim 11 , wherein the second set of one or more source code files are identified based at least in part on respective file extensions of the first set of one or more source code files.

19. The method of claim 11 , further comprising outputting a graphical user interface (GUI) of the distributed version control system for display on a display, wherein the source code file recommendation notification is included in the GUI.

20. A client computing device, comprising:

a non-volatile storage device; and

a processor configured to:

execute a distributed version control system stored in the non-volatile storage device;

output for display on a display a graphical user interface (GUI) of the distributed version control system;

via the distributed version control system, convey a pull request to apply a first set of one or more source code files to a project database for a project stored at a server computing device;

in response to conveying the pull request, identify a second set of one or more source code files based at least in part on a recommendation ruleset including one or more association rules identified by a machine learning algorithm,

wherein the machine learning algorithm is trained using a plurality of training pull requests applied to a training project database for a training project that is different than the project database for the project,

wherein the recommendation ruleset is determined based only on a respective last iteration of each training pull request; and

output a source code file recommendation notification at the GUI, the source code file recommendation notification including an indication of each source code file of the second set of one or more source code files.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2018
From: SWIERC, STANISLAW WIKTOR; SAJNANI, HITESH SHYAMLAL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 046405/0951 →
Continuity (1)
Related Publication 20200026511A1 · Jan 23, 2020
Cited By (1)
US 12,578,961