Final Thesis – WOI Rivers

  • C++
  • Qt
  • Doxygen
  • Mercurial

For my Final Thesis Visualizing Dynamic Software Developer Numbers in Work-Spaces of Interest (WOIs) I dealt with a new visualization technique for software development processes.

Usually, software systems are developed for multiple years by many developers. In this time period both the participation of developers and the work spaces they are working on can highly change. In this project the concept of AOI Rivers (a visualization technique for eye tracking data) was adapted to WOI Rivers for the visualization of software development processes. Using WOI Rivers, it is possible to observe the dynamic behavior of developer groups. It is possible to show how the number of developers or the frequency of their contribution to file changes in different work spaces varies over time. Additionally, transitions can show how developers change their work spaces and when or where new developers join or leave the project.
The visualization technique is implemented as an interactive visualization tool. It is possible to select so-called Workspaces of Interest (WOIs) in a hierarchy visualization, developer groups from a list of all developers and the time period to be used for the visualization for the WOI Rivers.

For an example dataset, on the left side the hierarchy with five selected WOIs is visible. On the right side WOI Rivers (collapsed and expanded) are visible. The height of the WOI Rivers is either related to the number of developers or the number of changed files.

wois_bsp_hierarchy

woi_bsp_4woi_bsp_3
woi_bsp_2woi_bsp_1

The corresponding application is implemented in C++ using Qt for the user interface; the Qt Graphics View Framework is used for graphic and interactive elements of the visualization. The Doxygen format is used for documentation and Mercurial for version control.

In the video the most important functions of the application are shown. These include different methods for the selection of WOIs, the visualization of the overview and detail view of WOI Rivers and the selection of developer groups.

Here, you can find my thesis (in German) containing many more details.

Results of this project are published in the publication Visualizing Work Processes in Software Engineering with Developer Rivers.