Githru: Visual Analytics for Understanding Software Development History Through Git Metadata Analysis

09/07/2020
by   Youngtaek Kim, et al.
0

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.

READ FULL TEXT
research
10/15/2021

Nalanda: A Socio-Technical Graph for Building Software Analytics Tools at Enterprise Scale

Software development is information-dense knowledge work that requires c...
research
04/28/2021

Interactive Visualization for Exploring Information Fragments in Software Repositories

Software developers explore and inspect software repository data to obta...
research
04/16/2022

ZeroIn: Characterizing the Data Distributions of Commits in Software Repositories

Modern software development is based on a series of rapid incremental ch...
research
04/21/2022

A Graphical Workflow Exploration Environment For Visual Analytics

Graphical history mechanisms have been widely utilized in many domains t...
research
07/01/2020

Scalable Comparative Visualization of Ensembles of Call Graphs

Optimizing the performance of large-scale parallel codes is critical for...
research
12/25/2014

Interactive Visual Exploration of Halos in Large Scale Cosmology Simulation

Halo is one of the most important basic elements in cosmology simulation...
research
07/10/2021

TEVISE: An Interactive Visual Analytics Tool to Explore Evolution of Keywords' Relations in Tweet Data

Recently, a new window to explore tweet data has been opened in TExVis t...

Please sign up or login with your details

Forgot password? Click here to reset