18. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: obtaining data representing a plurality of developer actions for a developer of source code in one or more code bases, wherein each developer action is a violation introduction into the one or more code bases attributed to the developer, a violation removal from the one or more code bases attributed to the developer, an added line of source code in the one or more code bases attributed to the developer, or a unit of source code change in the one or more code bases attributed to the developer; obtaining a plurality of characteristic metric values for the developer; determining a context group for the developer based on the characteristic metric values for the developer, the context group comprising the developer and one or more other developers having respective characteristic metric values that are most similar to the characteristic metric values for the developer among a population of developers; automatically computing a predicted violation value for each developer in the context group, wherein the predicted violation value represents a predicted measure of violation introductions into the one or more code bases attributed to the developer; automatically computing an actual violation value for each developer in the context group, wherein the actual violation value represents a measure of violation introductions into the one or more code bases attributed to the developer; automatically computing a score for each developer in the context group, wherein the score represents a distance between the actual violation value for the developer and the predicted violation value for the developer; and automatically generating a contextual ranking of a plurality of developers in the context group based on the score for each developer in the context group.
18. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: obtaining data representing a plurality of developer actions for a developer of source code in one or more code bases, wherein each developer action is a violation introduction into the one or more code bases attributed to the developer, a violation removal from the one or more code bases attributed to the developer, an added line of source code in the one or more code bases attributed to the developer, or a unit of source code change in the one or more code bases attributed to the developer; obtaining a plurality of characteristic metric values for the developer; determining a context group for the developer based on the characteristic metric values for the developer, the context group comprising the developer and one or more other developers having respective characteristic metric values that are most similar to the characteristic metric values for the developer among a population of developers; automatically computing a predicted violation value for each developer in the context group, wherein the predicted violation value represents a predicted measure of violation introductions into the one or more code bases attributed to the developer; automatically computing an actual violation value for each developer in the context group, wherein the actual violation value represents a measure of violation introductions into the one or more code bases attributed to the developer; automatically computing a score for each developer in the context group, wherein the score represents a distance between the actual violation value for the developer and the predicted violation value for the developer; and automatically generating a contextual ranking of a plurality of developers in the context group based on the score for each developer in the context group. 22. The system of claim 18 , wherein determining the context group for the developer based on the characteristic metric values for the developer comprises determining a predetermined number of developers having respective measures of churn or lines of code added that are most similar to corresponding metrics for the developer.