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 条
  • [11] Execution patterns in object-oriented visualization
    De Pauw, W
    Lorenz, D
    Vlissides, J
    Wegman, M
    [J]. PROCEEDINGS OF THE FOURTH USENIX CONFERENCE ON OBJECT-ORIENTED TECHNOLOGIES AND SYSTEMS: COOTS, 1998, : 219 - 234
  • [12] Tracing object-oriented code into functional requirements
    Antoniol, G
    Canfora, G
    Casazza, G
    De Lucia, A
    Merlo, E
    [J]. 8TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION (IWPC 2000), PROCEEDINGS, 2000, : 79 - 86
  • [13] An object-oriented simulation program for CMS
    Abdoulline, S
    Amapane, N
    Andreev, V
    Arce, P
    Banerjee, S
    Boccali, T
    Case, M
    De Roeck, A
    Dutta, S
    Eulisse, G
    Elvira, D
    Fanfani, A
    Ferro, E
    Innocente, V
    Lassila-Perini, K
    Liendl, M
    Muzaffar, S
    Nikitenko, A
    Osborne, I
    Stavrianakou, M
    Todorov, T
    Tuura, L
    Wellisch, HP
    Weng, J
    Wildish, T
    Wynhoff, S
    Zanetti, M
    Zhokin, A
    Zych, R
    [J]. 2004 IEEE NUCLEAR SCIENCE SYMPOSIUM CONFERENCE RECORD, VOLS 1-7, 2004, : 2024 - 2028
  • [14] Dynamic visualization of concurrent object-oriented systems
    Exton, C
    [J]. IWALT 2000: INTERNATIONAL WORKSHOP ON ADVANCED LEARNING TECHNOLOGIES: ADVANCED LEARNING TECHNOLOGY: DESIGN AND DEVELOPMENT ISSUES, 2000, : 294 - 295
  • [15] An object-oriented structural optimization program
    Silva, CAC
    Bittencourt, ML
    [J]. STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION, 2000, 20 (02) : 154 - 166
  • [16] Visualization of Object-Oriented Variability Implementations as Cities
    Mortara, Johann
    Collet, Philippe
    Dery-Pinna, Anne-Marie
    [J]. 2021 WORKING CONFERENCE ON SOFTWARE VISUALIZATION (VISSOFT 2021), 2021, : 76 - 87
  • [17] An object-oriented structural optimization program
    C.A.C. Silva
    M.L. Bittencourt
    [J]. Structural and Multidisciplinary Optimization, 2000, 20 : 154 - 166
  • [18] Object-oriented ray-tracing on a distributed environment
    Kim, HD
    Byun, SW
    Jeong, CS
    [J]. VISUAL DATA EXPLORATION AND ANLYSIS VI, 1999, 3643 : 246 - 254
  • [19] An object-oriented approach for mechanical components design and visualization
    Dupac, Mihai
    [J]. ENGINEERING WITH COMPUTERS, 2012, 28 (02) : 95 - 107
  • [20] MAMP: A design model for object-oriented visualization systems
    Orosco, R
    Campo, M
    [J]. ENGINEERING FOR HUMAN-COMPUTER INTERACTION, 1999, 22 : 243 - 260