US 12,353,876 B2
Coding output
Ian Paul Wright, Oxford (GB); and Albert Ziegler, Munich (DE)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Nov. 5, 2021, as Appl. No. 17/520,331.
Application 17/520,331 is a continuation of application No. 16/409,047, filed on May 10, 2019, granted, now 11,188,323.
Claims priority of provisional application 62/669,596, filed on May 10, 2018.
Prior Publication US 2022/0058019 A1, Feb. 24, 2022
Int. Cl. G06F 9/44 (2018.01); G06F 8/35 (2018.01); G06F 8/71 (2018.01); G06F 8/77 (2018.01); G06N 3/084 (2023.01); G06N 5/02 (2023.01); G06Q 10/04 (2023.01); G06Q 10/0631 (2023.01)
CPC G06F 8/77 (2013.01) [G06F 8/35 (2013.01); G06F 8/71 (2013.01); G06N 3/084 (2013.01); G06N 5/02 (2013.01); G06Q 10/04 (2013.01); G06Q 10/06313 (2013.01); G06Q 10/06315 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method for training a neural hidden state model to generate coding state probabilities for each unit time interval of a commit history corresponding to a coding time prediction, the method implemented by a computing system having at least one hardware processor and stored executable instructions that are executable by the at least one hardware processor to configure the computing system to implement the method, the method comprising:
the computing system obtaining a commit time history from a version control system that generates the commit time history for a developer sending commits for a project stored in a code base repository maintained by the version control system;
the computing system parsing the commit time history to identify and represent each unit time interval of the commit time history;
the computing system obtaining or generating periodic inputs associated with the commit time history and processing the periodic inputs through the neural hidden state model to generate transition probabilities for each unit time interval, wherein the transition probabilities refer to two probabilities related to an activity of the developer, the two probabilities include (1) a start probability (S) reflecting when an inactive developer will likely transition to become active during a particular unit time interval and (2) an end probability (E) reflecting when an active developer will likely transition to become inactive;
the neural hidden state model generating the transition probabilities for each unit time interval based on a corresponding commit probability (C) that indicates a likelihood that a commit event by a given developer will occur within a given unit time interval, such that the transition probabilities are based on commit probabilities related to commit events reflected by the commit time history;
the computing system processing the transition probabilities and the commit probability associated with the transition probabilities to generate a coding state prediction that represents a probability the given developer is coding at each commit interval in the commit history;
the computing system determining whether a training condition has been met for ending training of the neural hidden state model or, alternatively, for continuing training of the neural hidden state model;
the computing system, prior to determining the training condition has been met, and upon determining the training condition has not yet been met, updating weights of the neural hidden state model and processing the periodic inputs through the neural network with the new weights and generating new transition probabilities for each unit time interval; and
the computing system applying the neural hidden state model to identify an efficiency of a particular developer, wherein a report is generated to indicate the efficiency of the particular developer, and wherein the computing system facilitates a change to a development workflow of the developer by using a new integrated development environment by the developer.