Software Evolution Visualisation Browser

finished by Daniel Zuberbühler

Final Thesis (PDF, 2407 KB)

Introduction

In the last few years there has been done research into reading information out of the history of a software project. It is believed that these information about the evolution of the system can help significantly with the understanding of its state, and consequently with maintenance decisions.

History data can be extracted from versioning systems, bugtrackers and the likes. This data is then stored in a ‘release history database’. The database quickly grows huge, so filtering techniques have to be applied to generate useful reports. Another problematic is that many facts only become obvious, when multiple different metrics are regarded in relation with other.

Because humans are usually quite visual oriented, a good way to achieve filtering and combination of different metrics at the same time is to use a graphical epresentation. A cleverly chosen visualisation type applied the right metrics can make complex coherences intuitively accessible.

The goals of this Diploma Thesis

The objective is to present a complete plug-in for the Eclipse platform, which integrates the release history database, and provides a configurable visualisation interface. It should be ready to use for monitoring a specific software project and therefore has to provide at least datamining backends for CMS and Clearcase, and a base set of visualisation modules.

Task description

The target of this thesis is to implement a plug-in, which embeds a release history database frontend into the Eclipse platform and provides a visualisation interface.

The visualisation should be configurable, so that different aspects of the examined system can be examined. The whole system should be designed modular to make it easy to adapt it to use different data providers (like other versioning systems) and custom, pluggable visualisation modules (i.e. a better suitable chart for a certain metrics combination).

The main part of the thesis will consist of evaluating and integrating a suitable release history database, and designing and implementing a visualisation framework.

In a second part, the resulting plug-in will be tested with a large industry software project and I will review aspects like usability and profitability in the thesis paper.

The envisioned outcome

The plug-in is intended to help keeping track with the state and the evolution of a software system. Thanks to high configurability it should be beneficial for different roles like project managers or maintenance engineers. It is hoped that they can gain increased insight into different aspects of their system through easy comprehensible visualisations of the history data.

In this Diploma Thesis you will learn

  • Insights into existing software evolutio visualization techniques.
  • CMS configuration management and Clearquest issue tracking system.
  • Programming with the Eclipse plug-in and Hibernate object relational mapping tools.

General thesis guidelines

The typical rules of academic work must be followed. "So what is a (Diploma) Thesis" describes guidelines which must be followed. At the end of the thesis, a final report has to be written. The report should clearly be organized, follow the usual academic report structure, and has to be written in English using our s.e.a.l. LaTeX-template.

Since implementing software is also part of this thesis, state-of-the-art design, coding, and documentation standards for the software have to be obeyed.

The diploma thesis has to be concluded with a final presentation.

Advisor

Dr. Martin Pinzger, Prof. Harald Gall.

More information on "What is a Diploma Thesis and How to do a Diploma Thesis at IFI" is provided here.