1. A system comprising: a manager node and a plurality of worker nodes, wherein: the manager node comprises 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 manager node to perform operations comprising: receiving a request to perform attribution tasks on a plurality of snapshots of a code base, wherein performing an attribution task on a snapshot comprises attributing characteristic segments of source code in the snapshot to respective responsible entities, receiving data representing a revision graph, the revision graph representing parent and child relationships between snapshots of the code base, wherein a child snapshot is a subsequent snapshot of a parent snapshot in the code base, generating an attribution set having at most N snapshots of the revision graph, wherein N is an integer greater than zero, the attribution set having a target subset of attributable snapshots and a support subset of parent snapshots of snapshots in the target subset, the snapshots in the support subset including one or more parent snapshots that do not occur in the target subset, and submitting an attribution task for the attribution set to one worker node of the plurality of worker nodes; and each worker node of the plurality of worker nodes comprises 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 worker node to perform operations comprising, for each attribution set provided to the worker node: copying, to the worker node for each snapshot in the attribution set, analysis data that identifies characteristic segments of source code in the snapshot; and attributing each characteristic segment of source code in each snapshot in the attribution set to a respective responsible entity.