In the past decade, the amount of software being created – open source and otherwise – has increased dramatically. Assisted by the collaborative power of the internet, millions of software developers worldwide work on hundreds of thousands of software projects. As computers and software become increasingly entwined in our lives, it is important to study the development process from a research perspective and to help the developers see the big picture.
This dissertation is about using visualization methods to illuminate the software development process. In the first part, data from project mailing list archives is visualized using Sankey diagrams. The data is cast as a time-varying network of developers and Sankey diagrams show month-to-month how the clustering of the network changes.
In the second part, email collaboration data as well as repository data from projects are combined visually into one picture. Several different visualization methods, like radial space-filling trees, node-link diagrams, and timelines, are fitted together in a novel way. The system also uses animation to track the development history of projects.
The third part is about an animated visualization of developer work called code_swarm. It is an example of organic information visualization, where the data elements are not structured as in traditional visualization, but are allowed to move about in a freeform way. The videos were viewed online by hundreds of thousands of people and their feedback is used to evaluate the technique.
The final part is about a timeline visualization of developer history called Soft- ware Evolution Storylines. It is a follow-up to code swarm which attempts to answer the questions of whether the same information could be conveyed in a static image. Visualizations are generated for several open source projects and evaluated.
Recommendations
Visualizing Visualizations: User Interfaces for Managing and Exploring Scientific Visualization Data
The process of scientific visualization is inherently iterative. A good visualization comes from experimenting with visualization, rendering, and viewing parameters to bring out the most relevant information in the data. A good data visualization system ...
Visualizing software hierarchy and metrics over releases
AVI '18: Proceedings of the 2018 International Conference on Advanced Visual InterfacesAnalysis and understanding of large software systems requires exploring not only the software structure but also associated software metrics over the development releases. Information visualization helps in this regard greatly through interactive ...