论文标题
Githru:通过GIT元数据分析理解软件开发历史的视觉分析
Githru: Visual Analytics for Understanding Software Development History Through Git Metadata Analysis
论文作者
论文摘要
Git Metadata包含丰富的信息,供开发人员了解大型软件开发项目的整体环境。因此,它可以帮助新的开发人员,经理和测试人员了解开发历史,而无需挖掘一大堆陌生的源代码。但是,当前的GIT可视化工具不足以分析和探索元数据:它们主要集中于提高GIT命令的可用性,而不是帮助用户了解开发历史记录。此外,它们不适合大型且复杂的GIT提交图形,这可以在理解整体发展历史上发挥重要作用。在本文中,我们提出了Githru,这是一种交互式的视觉分析系统,使开发人员能够通过对Git Metadata的交互式探索有效地了解开发历史的背景。我们设计了一个交互式的视觉编码成语,以可扩展的方式表示大型git图,同时保留git图中的拓扑结构。为了启用对大型git提交图的可扩展探索,我们提出了新技术(图形重建,聚类和上下文保留壁球合并(CSM)方法),以抽象大规模的git提交图。基于这些git提交图形抽象技术,Githru提供了一种交互式摘要视图,以帮助用户概述开发历史记录和比较视图,在该视图中,用户可以比较不同的提交簇。案例研究已经证明了Githru的功效,该案例研究使用了一家大型国际IT公司的大型软件开发团队的现实世界中的内部数据集。与12位开发人员进行对照的用户研究,将Githru与以前的工具进行了比较,也证实了Githru在任务完成时间方面的有效性。
Git metadata contains rich information for developers to understand the overall context of a large software development project. Thus it can help new developers, managers, and testers understand the history of development without needing to dig into a large pile of unfamiliar source code. However, the current tools for Git visualization are not adequate to analyze and explore the metadata: They focus mainly on improving the usability of Git commands instead of on helping users understand the development history. Furthermore, they do not scale for large and complex Git commit graphs, which can play an important role in understanding the overall development history. In this paper, we present Githru, an interactive visual analytics system that enables developers to effectively understand the context of development history through the interactive exploration of Git metadata. We design an interactive visual encoding idiom to represent a large Git graph in a scalable manner while preserving the topological structures in the Git graph. To enable scalable exploration of a large Git commit graph, we propose novel techniques (graph reconstruction, clustering, and Context-Preserving Squash Merge (CSM) methods) to abstract a large-scale Git commit graph. Based on these Git commit graph abstraction techniques, Githru provides an interactive summary view to help users gain an overview of the development history and a comparison view in which users can compare different clusters of commits. The efficacy of Githru has been demonstrated by case studies with domain experts using real-world, in-house datasets from a large software development team at a major international IT company. A controlled user study with 12 developers comparing Githru to previous tools also confirms the effectiveness of Githru in terms of task completion time.