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

  • Polymetric Tools

    shares insights into the development of tools utilizing polymetric views to visualize complex software systems. He began with a tool called Cocrawler, which implemented polymetric views to reverse engineer and understand large-scale systems during his PhD. This tool evolved to include class blueprints and an evolution matrix, allowing for a deeper understanding of system architecture. Lanza explains, "We started with 2D reverse architecting tools, where you look at the system from above, tearing it apart in terms of its packages to understand its architecture."

    At the same time, there was another PhD student called Marco D'Ambros. He started by extending cocrawler to visualize bug information, so you could actually see which entities in the system were affected by which and how many bugs, and then you could actually reason about that at one moment.

    ---

    These tools, initially written in Smalltalk, were later adapted for Java, demonstrating their versatility and broad applicability 1.

       

    Evolution Movies

    The visualization of software evolution and bug patterns is another key area explored by . He describes creating movies from system snapshots to depict the evolution of software over time, highlighting major restructurings and changes. This approach allows developers to see who is responsible for specific changes and when they occurred, adding a layer of accountability and insight. Lanza notes, "While a movie does not allow you to interact with the system, it gives you a story about the system. You clearly see how the system has evolved over time."

    And I mean again it's hard to do it audio only, but if you look at the slides you will really be. I mean yeah, you said it's not about pretty pictures but it really helps you to get an overview. And I guess that's the point.

    ---

    This method of visualization not only provides an overview but also facilitates a deeper understanding of the system's history and development 2.

Related Episodes