Published Sep 3, 2019

seradio-episode130-codeVisualizationWithMicheleLanza.mp3

Michele Lanza delves into the transformative power of software visualization, discussing its cognitive foundations and potential to revolutionize software metrics compared to traditional modeling. He explores the innovative use of polymetric views and visualization tools to enhance comprehension of complex software systems, emphasizing their role in visualizing software changes and identifying bug patterns.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Complexity

    emphasizes that software visualization is distinct from traditional UML diagrams, which often fail to scale with complex systems. He explains that effective visualization abstracts complexity into simple, interpretable images, allowing developers to understand large systems without being overwhelmed by details 1. Michele shares his experience with a telecommunications project, where he developed a graph-based visualization enriched with software metrics, known as a polymetric view 1.

    Imagine this, you basically have a square representing an entity, and now you use metrics on top of that, representing the width, the height of the square and also the color of the square.

    ---

    This approach enables instant recognition of system components, highlighting areas of interest through visual cues like size and color 1.

       

    Interactivity

    Interactive visualizations mark a significant shift from static diagrams, offering immersive experiences like code cities. describes how these visualizations allow users to explore software systems as three-dimensional cities, enhancing understanding through interaction 2. This method not only represents the system's structure but also its dynamic behavior, although challenges like data overload persist 3.

    We started writing a tool, and this is the work of a PhD student called Richard Dettel, where we visualize software systems as three dimensional cities into which you can immerse yourself.

    ---

    Such immersive techniques provide a more comprehensive view of software systems, facilitating deeper insights into their operation and evolution 2.

       

    Limitations

    Despite their potential, visualizations face challenges, particularly in gaining acceptance within academic circles. notes that while developers appreciate visualization tools, academia often demands empirical proof of their effectiveness, which is difficult to provide 4. He suggests that bridging the gap between visualization and modeling communities could enhance both fields, though such collaboration is currently lacking 4.

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

    ---

    Michele stresses the importance of creating meaningful visualizations that aid comprehension rather than merely producing aesthetically pleasing images 4.

Related Episodes