1. A computer-implemented method comprising: receiving a violation representing a coding defect occurring in a snapshot of a code base; computing a first canonical representation for the received violation; obtaining a plurality of canonical representations of violations representing introductions, eliminations, and mappings of violations in the code base; using the first canonical representation to locate an initial canonical representation and an initial snapshot for a violation representing a first-observed occurrence of a coding defect corresponding to a plurality of matching violations for a plurality of respective snapshots; using the first canonical representation to locate a last canonical representation and last snapshot for a violation representing a last-observed occurrence of the coding defect corresponding to the plurality of matching violations for the plurality of respective snapshots; and computing an elapsed time between the initial snapshot and the last snapshot.