Merge‐Tree: Visualizing the integration of commits into Linux. Issue 2 (13th February 2018) - Wilde, Evan; German, Daniel
Abstract: With an average of more than 900 merges into the Linux kernel per release, many containing hundreds of commits and some containing thousands, maintenance of older versions of the kernel becomes nearly impossible. Various commercial products, such as the Android platform, run older versions of the kernel; due to security, performance, and changing hardware needs, maintainers must understand what changes (commits) are added to the current version of the kernel since the last time they inspected it to make the necessary patches. Current tools provide information about repositories through the directed acyclic graph (DAG) of the repository, which is helpful for smaller projects. However, with the scale and number of branches in the kernel, the DAG becomes overwhelming very quickly. Furthermore, the DAG contains every parents of every commit, while maintainers are more interested in how and when a commit arrives to the official Linux repository. This paper makes 3 contributions: a conversion from DAG to Merge‐Tree, an implementation of a tool built on the Merge‐Tree model, and a user study to evaluate and validate the implementation and model. Abstract : In this paper, we present 4 contributions: the conversion from the DAG of a git repository to the merge tree, visualizations of the merge tree, a tool that uses the merge tree visualizations, and an evaluation of the tool as a proxy to evaluating the effectiveness of the merge tree. We found that the visualizations of the merge tree helped users better comprehend the events in a repository more quickly and accurately.