Visualizing code changes
What is change visualization?
Change visualization aims to show the real essence of the change in visual format. Usually this process involves data extraction, analysis, processing, mapping, filtering and finally, the visualization phase. The visualization phase is about finding the best visual representation for encoding the essential refined information on the change. These representations include graph visualization, tables, text and many other forms of visualization.
Why is change visualization relevant for code changes and software evolution?
Software architecture and design is evolving by every change. Sometimes unwanted changes lurk into the software and are harder to undo later when buried on top of later layers of software changes.
Humans tend to notice the things on the surface, such as code style issues or consitencies in the naming. Deeper aspects such as maintainability drawbacks that are introduced in form of unnecessary dependencies are easily missed. Adequate change visualization captures the real essence of the architecture change and gives easy feedback on the impacts of the change.
This example is an automatically produced code change visualization based on the changes in an open source project Koalas. Please follow the link on learning more how this is integrated as part of the code review phase, using an automatically submitted Impact Report comment.