Published Sep 3, 2019

Episode 130: Code Visualization with Michele Lanza

Explore the transformative power of code visualization with Michele Lanza as he unveils innovative techniques like code cities and software metrics visualization, enhancing the identification of code issues and fostering interdisciplinary collaboration.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Questions from this episode

Episode Highlights

  • Code Cities

    The concept of code cities revolutionizes how we visualize software systems. explains that these visualizations offer a unique perspective on program comprehension by representing software as three-dimensional cities, allowing developers to quickly grasp the structure and distribution of functionality within a system 1. This immersive approach helps identify well-structured systems and those with concentrated functionalities, akin to skyscrapers in a cityscape.

    We started writing a tool... where we visualize software systems as three-dimensional cities into which you can immerse yourself.

    ---

    By using familiar city metaphors, developers can navigate and interact with the software, enhancing their understanding of complex systems 2.

       

    Visualization Tools

    Lanza's work on visualization tools has led to the development of several innovative applications. He began with Cocrawler, a tool for reverse engineering large-scale systems, which evolved into visualizing class structures and system evolution 3. These tools, including Java plugins like X-ray, are designed to be interactive, allowing users to engage with the data rather than just viewing static images.

    You must really dive into the system. And this interactive notion to some people looks not... scientific enough.

    ---

    This interactivity is crucial for understanding and improving software quality, as it enables a dynamic exploration of system metrics and behaviors 4.

       

    Visualization Principles

    Effective software visualization relies on key principles that prioritize meaningful over aesthetic representations. Lanza emphasizes the importance of pre-attentive attributes, which help users quickly identify significant patterns and anomalies in the data 5. Despite its potential, visualization faces challenges in academia, where empirical validation is often demanded.

    Visualization works based on a couple of very simple principles, the one that we talked before, the pre-attentive attributes.

    ---

    This demand for empirical results can be difficult to meet, as the effectiveness of visualization is not easily quantified, highlighting the need for innovative evaluation methods 6.

Related Episodes