Visualisation and automatic identification of technical debt with high accuracy
The aim of the ITEA VISDOM project is to develop new types of visualisations that utilise and merge data from several data sources within DevOps environments. The visualisations are meant to provide simple but actionable "health checks" about the state of the development process, the software system and its operation. One such crucial check concerns Technical Debt: a metaphor reflecting the shortcuts taken during development that help to achieve short-term goals, but negatively influence the internal quality of software on the long term (i.e. maintenance and evolution). If technical debt remains hidden, making changes to the software becomes very difficult and development velocity decreases.
To tackle this problem, the University of Groningen has created a tool that is able to classify and visualise technical debt, by mining several sources: source code comments, commit messages, pull requests, and issue tracking systems. While none of these sources per se is comprehensive in containing technical debt information, by combining the sources a composite and rich view of internal quality problems can be obtained. The classification utilises a machine-learning approach to automatically identify technical debt with high accuracy. The visualisation includes snapshots of the system’s technical debt, as well as its evolution over time, allowing software engineers to look both at the big picture and zoom in on individual details. It can be used during discussions about the software internal quality, and particularly about prioritising tasks to improve such quality, e.g. by means of refactoring.
Preliminary evidence from software practitioners within the VISDOM consortium has demonstrated that the visualisations allow for uncovering internal quality issues that were previously implicit, unknown, or even surprising. Furthermore, they provide insights on how the technical debt accumulates over time, the types of technical debt that are the most critical, as well as hotspots of quality problems within the system. The tool will be released with an Open-Source license at the end of the project.