Files, classes, or methods have frequently been investigated in recent research on co-change. In this paper, we present a first study at the level of lines. To identify line changes across several versions, we define the annotation graph which captures how lines evolve over time. The annotation graph provides more fine-grained software evolution information such as life cycles of each line and related changes: "Whenever a developer changed line 1 of version.txt she also changed line 25 of Library.java."
To identify co-changing lines, REF build an annotation graph based upon the identification of lines across several versions of a file.
Mining version archives for co-changed lines
MSR '06
Computer Science