Software Analytics: Visualization of Source Code Evolution

Name
Turkhan Badalov
Abstract
Modern software projects are evolving with high pace. With such ever-growing software projects, reading and editing someone's code is unavoidable. Thus, it is important to have the means for analyzing source code evolution that would help understand the context of changes that have happened over time. The concept of visualization has been constantly used across many fields and industries to aid understanding and to convey one or another message. Nowadays, computer graphics with mature visualization tools and libraries present a good opportunity to build diagrams that could be used to understand the source code evolution. The goal of this thesis is to demonstrate new ways to aid source code evolution analysis by developing an open-source tool that visualizes changes made in the source code over time. While most of the available tools that visualize source code focus primarily on one state of the project, embracing the timeline in our visualization is the main difference between them.

The visualisation tool encompasses three views each concentrating on a different aspect of source code evolution analysis. Emphasising the evolution timeline in the visualisations makes it possible to detect classes and methods prone to changes. Another central point in the visualisations is the connectedness of methods and classes highlighting entities that have taken on too many responsibilities. All views contain interactive elements that provide additional information on demand.
Graduation Thesis language
English
Graduation Thesis type
Master - Computer Science
Supervisor(s)
Kristiina Rahkema,Dietmar Alfred Paul Kurt Pfahl
Defence year
2021
 
PDF