Conference Paper

Using Dynamic Analysis to Create Trace-‐ Focused User Interfaces for IDEs

DOI: 10.1145/1882291.1882351 Conference: Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2010, Santa Fe, NM, USA, November 7-11, 2010
Source: DBLP


This research demonstration presents the tool, Dynamic Interactive Views for Reverse Engineering (Diver). Diver supports software understanding through a trace focused user interface. The trace focused user interface is a method of re-organizing the user interface of integrated development environments so that developers can focus their attention on artifacts related to the run-time behaviour of the software that they are investigating. The tool combines concepts from research in software visualization, dynamic analysis, software reconnaissance, and task focused user interfaces.

Full-text preview

Available from:
  • [Show abstract] [Hide abstract]
    ABSTRACT: Understanding the behaviour of software is an essential part of program understanding in general. Execution traces of running software can be used as a source of information about software behaviour. Unfortunately, execution traces tend to be extremely large, making it difficult to show users the information that they need. This demo presents new developments in our tool called Dynamic Interactive Views for Reverse Engineering (Diver), which attempts to address this difficulty.
    No preview · Conference Paper · Jan 2011
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: 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.
    Full-text · Conference Paper · Oct 2012