Object-oriented program tracing and visualization

被引:34
|
作者
Lange, DB
Nakamura, Y
机构
[1] IEEE, ACM
[2] IBM Tokyo Research Laboratory, Yamato-shi, Kanagawa-ken 242, 1623-14, Shimotsuruma
关键词
D O I
10.1109/2.589912
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Object orientation has changed software development for the better, but it has not really made programs easier to understand. Object-oriented program analysis tools remain rare because OO concepts such as inheritance and polymorphism render conventional analysis and presentation techniques insufficient. The authors describe a way to obtain, manipulate, and visualize OO execution traces that provides fine-grained localization information for program understanding. Applying dynamic analysis along with interactive visualization makes it possible to determine the exact program paths that influence particular objects and facilitates recognition of execution patterns. Because an object can invoke methods in itself and in other objects, an interaction graph becomes an important tool for modeling object interaction. However, even small toy programs may produce so many invocations that the interaction graph becomes unmanageable. The solution is to use search-space-reducing techniques such as merging, pruning, and slicing to remove unwanted information from the interaction graph, thereby limiting its complexity and size. The research prototype Program Explorer takes a user through a series of executions and visualizations to explain a given program and its framework. Although it was originally designed for C++, a version developed for IBM's System Object Model demonstrated that the concepts are applicable to OO languages in general. The authors believe Program Explorer can be applied to a wide range of software engineering problems, such as framework understanding to improve reuse, application logic analysis for maintenance, and visual debugging of OO code.
引用
收藏
页码:63 / &
页数:9
相关论文
共 50 条
  • [1] Object-oriented visualization of program logic
    Lahtinen, SP
    Sutinen, E
    Tarhio, J
    Tuovinen, AP
    [J]. TOOLS 23 - TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS, 1998, : 76 - 88
  • [2] OBJECT-ORIENTED VISUALIZATION
    SILVER, D
    [J]. IEEE COMPUTER GRAPHICS AND APPLICATIONS, 1995, 15 (03) : 54 - 62
  • [3] PROGRAM DESIGN VISUALIZATION SYSTEM FOR OBJECT-ORIENTED PROGRAMS
    ICHIKAWA, I
    AIKAWA, S
    KAMIKO, M
    ONO, E
    MOHRI, T
    [J]. SIGPLAN NOTICES, 1989, 24 (04): : 181 - 183
  • [4] An object-oriented tool for tracing requirements
    Pinheiro, FAC
    Goguen, JA
    [J]. PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON REQUIREMENTS ENGINEERING, 1996, : 219 - 219
  • [5] An object-oriented tool for tracing requirements
    Pinheiro, FAC
    Goguen, JA
    [J]. IEEE SOFTWARE, 1996, 13 (02) : 52 - 64
  • [6] OBJECT-ORIENTED PROGRAM CONSTRUCTION
    WONG, WG
    [J]. DR DOBBS JOURNAL, 1992, 17 (10): : 36 - &
  • [7] Study of object-oriented visualization model
    Gu, JH
    Zhou, XS
    Wang, BZ
    [J]. OBJECT-ORIENTED TECHNOLOGY, 1998, : 1 - 5
  • [8] An object-oriented design for graph visualization
    Marshall, MS
    Herman, I
    Melançon, G
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2001, 31 (08): : 739 - 756
  • [9] Collaborative object-oriented visualization environment
    So-Hyun Ryu
    Hyung-Jun Kim
    Jin-Sung Park
    Yong-won Kwon
    Chang-Sung Jeong
    [J]. Multimedia Tools and Applications, 2007, 32 : 209 - 234
  • [10] Collaborative object-oriented visualization environment
    Ryu, So-Hyun
    Kim, Hyung-Jun
    Park, Jin-Sung
    Kwon, Yong-won
    Jeong, Chang-Sung
    [J]. MULTIMEDIA TOOLS AND APPLICATIONS, 2007, 32 (02) : 209 - 234