Implementing, validating, modifying, or reengineering an object-oriented system requires an understanding of the object and class interactions which occur as a program executes. This work seeks to identify, visualize, and analyze interactions in object-oriented program executions as a means for examining and understanding dynamic behavior. We have discovered recurring interaction scenarios in program executions that can be used actions in the understanding process, and have developed a means for identifying these interaction patterns. Our visualizations focus on supporting design recovery, validation, and reengineering tasks, and can be applied to both object-oriented and procedural programs. Keywords software visualization, object-oriented software engineering, program understanding, reverse engineering UNDERSTANDING BEHAVIOR We began our work with the hypothesis that visualizing interactions in object-oriented program executions can assist with software engineering tasks requiring p...
Dean F. Jerding, John T. Stasko, Thomas Ball