Visualizing object interactions in an execution trace with a sequence diagram is a promising technique for helping developers to comprehend effectively the behavior of an object-oriented system. However, in most cases, the reverse-engineered sequence diagram, which is automatically generated from an execution trace, contains enormous amounts of information, which causes scalability issues. In this paper, we present a method that abstracts the history of object interactions based on Pree's meta patterns usage. We identify objects that are strongly related to each other by focusing on the relation of template-hook structures which are often used in object-oriented programming. Grouping the strongly correlated objects, we visualize the system's behavior in terms of intergroup interactions with a sequence diagram. The sequence diagram that is generated is helpful for grasping the big picture of the overall behavior of the system, and so is a valuable aid for program comprehension. In this research, we implemented a tool to visualize the history of object interactions based on our proposed method and demonstrated the feasibility of our proposed method. We applied the tool to three kinds of open-source software systems and evaluated the effectiveness of our proposed method in program comprehension tasks.
Published in:
Reverse Engineering (WCRE), 2012 19th Working Conference on
Date of Conference: 15-18 Oct. 2012