Chronicler: Interactive exploration of source code history

M Wittenhagen, C Cherek, J Borchers - … of the 2016 CHI conference on …, 2016 - dl.acm.org
Proceedings of the 2016 CHI conference on human factors in computing systems, 2016dl.acm.org
Exploring source code history is an important task for software maintenance. Traditionally,
source code history is navigated on the granularity of individual files. This is not fine-grained
enough to support users in exploring the evolution of individual code elements. We suggest
to consider the history of individual elements within the tree structure inherent to source
code. A history graph created from these trees then enables new ways to explore events of
interest defined by structural changes in the source code. We present Tree Flow, a …
Exploring source code history is an important task for software maintenance. Traditionally, source code history is navigated on the granularity of individual files. This is not fine-grained enough to support users in exploring the evolution of individual code elements. We suggest to consider the history of individual elements within the tree structure inherent to source code. A history graph created from these trees then enables new ways to explore events of interest defined by structural changes in the source code. We present Tree Flow, a visualization of these structural changes designed to enable users to choose the appropriate level of detail for the task at hand. In a user study, we show that both Chronicler and the history aware timeline, two prototype systems combining history graph navigation with a traditional source code view, outperform the more traditional history navigation on a file basis and users strongly prefer Chronicler for the exploration of source code.
ACM Digital Library