1 of 14

TRACC - Tracking Record of Aggregate Changes over Commits

Julian Eder, Justin Dachille

2 of 14

Motivation

3 of 14

Git Version Control

  • Allows for complex development
  • Git servers and platforms
  • Insights into codebase and team dynamics are valuable for project managers

https://blog.cpanel.com/git-version-control-series-what-is-git/

https://github.com/opencv/opencv

4 of 14

Visualizations on Github

  • “Github Insights” - limited

5 of 14

Related Work

6 of 14

JMRI & Gource

  • Some related visualization tools

https://www.jmri.org/community/visuals/codeswarm.shtml

https://gource.io/

7 of 14

Objectives

8 of 14

Target Insights

  • Which parts of the code did development focus on, at different points in time?
  • Which contributors added the most/least code to the project? (as a basis for personnel decisions, to reveal the code ownership across different parts of the project)
  • Identifying which contributors are experts for a particular part of the code? (as a basis for distributing future development tasks)
  • Which files or modules have the highest rate of frequent changes?
  • How has the codebase evolved over time?

9 of 14

Project Overview

  • Utilize Flask, Python, D3 to display data from Github REST API

10 of 14

Visual Analytics Design

  • Overview of project file tree
  • Contributions of Users per file
  • Contributions of selected commit visualized as links to files
  • Analysis Methods
    • Scroll through repo history
    • Inspect individual files and contributors (links to github for further drill-down)
  • Scalability:
    • This is meant for managers of small to medium sized teams
    • Visual scalability for pie diagrams could be a problem

11 of 14

Mockups

  • Activity by file/folder over time

  • Develop a sense for when a challenge has gone on too long

  • Example cases:
    • Find where development time might be wasted
    • Find where certain devs are struggling

12 of 14

Provisional: Code Churn

  • Extension of previous visualizations, if time permits

13 of 14

Challenges

  • Visual Scalability
  • Visualizations with dynamic data
  • Ex: Runtime

14 of 14

Questions?