Abstract: A method of calculating a failure probability of a change in one or more source code repositories comprises analyzing at least one commit made to the source code repositories, determining a type of the commit selected from a fixing commit and a new code commit, if the commit is a new code commit, determining a set of areas of source code modified, if the code is a fixing commit, determining which commit of a plurality of new code commits is the causing commit, analyzing the commit message and calculating one or more parameters of the commit message, training a machine learning classifier with the set of data, and using the machine learning classifier to calculate a probability that the commit will cause a failure in the source code repository. Methods and systems for task assignment and test selection are also described.