簡易檢索 / 詳目顯示

研究生: 彭怡煒
Peng Yi-wei
論文名稱: 互動式三度空間鏈節結構除錯資訊視覺化系統
Interactive 3D Debugging Information Visualization for Linked-List Data Structure
指導教授: 鄭永斌
Cheng, Yung-Pin
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2003
畢業學年度: 91
語文別: 英文
論文頁數: 46
中文關鍵詞: 軟體視覺化鏈節結構除錯資訊視覺化
英文關鍵詞: Software Visualization, Linked-List Data Structure, Debugging Information Visualization
論文種類: 學術論文
相關次數: 點閱:178下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在開發軟體的過程中,除錯通常是耗時的。但是就現有的除錯工具而言,大部分依舊停留在文字模式的階段,程式設計師必須在一堆文字當中,去尋找有意義的資訊,並把抽象的概念的具體化,來模擬程式的運作,進而發覺程式可能出錯的所在。上述的這件事情,就算對於一個有經驗程式設計師來說也不見得是一件簡單的事情,就更別說一個欠缺經驗的新手了。然而隨著程式規模日漸增加,類似在開發作業系統一類的大型複雜軟體時,除錯的問題只會越來越棘手,除錯的工具必須提供更有效的協助給程式設計師。
    本研究就是在提供一個圖形化的除錯工具,讓程式設計師可以透過圖形化的呈現輕易的看出程式中變數的內容及資料結構。目前是有一些軟體嘗試著利用 2D 平面來展示除錯的資料,但是2D 的平面展示有他的侷限。當所要除錯的程式很龐大的時候,會有過多的資料充塞在 2D 平面上,並不能完全發揮視覺化的目的,所以就並不是那麼的適用。所以在本研究把除錯的環境擴增到 3D 的立體空間中。但因為可能除錯的資料結構可能會有很多種,目前將目標鎖定在鏈結結構(Linked-list data structure)上。在 3D 的環境中利用一個虛擬實境手套來與除錯工具溝通的工具,透過一些手勢操作來控制或是顯示程式設計師想要看的變數的內容及資料結構。透過預設手勢操作的過程當中,本系統透過 socket 從預設的除錯器 JPDA 獲得程式資料,然後呈現在 3D 的環境當中,以期達到幫助程式設計師易於瞭解程式變數內容及資料結構的目的。

    Debugging a complex program may be tedious and difficult. As the size of programs grow, this problem becomes serious. Programmers need effective debugger tools, but current debugging tools are far from their need. Our research uses the techniques of software visualization to visualize the variables and data structures of programs and extends the visualization to a 3D environment to address the scalability problem.
    Our system named DIVINE (3D Interactive Visualization Environment for Debugging) concentrates on the integration of visualization tool and debugger. DIVINE can be divided into two parts. One is the debugger and the other is the visualization subsystem. The debugger provides a window-based user interface for users to debug a program. The visualization subsystem provides a meaningful visualization to aid debugging for programs with complex linked-list structure. The visualization subsystem creates and displays the debugging information in a 3D graphic environment. Users can use a data glove to interact with DIVINE. Users need not key in debugging commands in the window-based debugger. They use the data glove with particular gestures and some simple keyboard keys to communicate with the debugger. Through the interactive visualization, programmers can facilitate the debugging process.

    Table of Contents List of Figure vi 1. Introduction 1 2. Background 5 2.1 About software visualization 5 2.2 The roles act in software visualization syste 7 2.3 A framework for classifying software visualization systems 7 2.3.1 Scope 8 2.3.2 Context 9 2.3.3 Form 11 2.3.4 Method 13 2.3.5 Interaction 15 2.3.6 Effectiveness 16 3. DIVINE - 3D Interactive Visualization Environment for Debugging 17 3.1 User interface of DIVINE 18 3.1.1 Graphic objects 20 3.1.2 Textual information areas 20 3.2 Interactions with the data glove in DIVINE 21 3.2.1 Data glove 22 3.2.2 Gestures of the data glove for selecting objects 23 3.2.3 Gestures of the data glove browsing 23 3.2.4 Gestures of the data glove for dragging objects 24 3.3 Interactions with the keyboard in DIVINE 25 3.4 Example 26 4. Implementation 36 4.1 Development tool 36 4.2 System structure 36 4.2.1 Interchange data format between the visualization subsystem and the debugger 37 4.2.2 Default display method 39 4.2.3 Communication between two parts 41 5. Summary & Future Works 42 5.1 Results 42 5.2 Future works 42 References 44 Vita 46 List of Figures Figure 1 – The domain of software visualization. 5 Figure 2 – The first level of the software visualization taxonomy hierarchy. 8 Figure 3 – Scope category hierarchy. 8 Figure 4 – Context category hierarchy. 10 Figure 5 – From category hierarchy. 12 Figure 6 – Method category hierarchy. 13 Figure 7 – Interaction category hierarchy. 15 Figure 8 – The user interface of the debugger. 18 Figure 9 – A screen shot of the three-dimension graphic environment. 19 Figure 10 – The default viewpoint. 21 Figure 11 – The other viewpoint. 21 Figure 12 – The positions of sensors in the data glove. 22 Figure 13 – The mappings of sensors and the pData element. 23 Figure 14 – The two fingers point gesture (index and middle). 24 Figure 15 – The three fingers point gesture (index, middle and ring). 24 Figure 16 – The one finger point gesture (index). 25 Figure 17 – The fist gesture. 25 Figure 18 – The behaviors of keyboard keys. 26 Figure 19 – An example in tree structure. 26 Figure 20 – The initiation of 3D graphic environment. 27 Figure 21 – The screen shot of browsing mode. 28 Figure 22 –The change of selecting objects. 29 Figure 23 – The different viewpoint of 3D objects. 30 Figure 24 –The movement of camera. 31 Figure 25 –The movement of the selected object. 32 Figure 26 – The debugging information window. 33 Figure 27 – Expand a link to a node. 33 Figure 28 –The second level of tree structure. 34 Figure 29 –The expanding of the tree structure. 34 Figure 30 – The structure of DIVINE. 37 Figure 31 – (1) The default view - Locate at a position with positive z-axis and face towards to negative z-axis (2) The default view - Locate at a position with positive x-axis and face towards to negative x-axis 40

    [1] E. Adams an S.S. Muchnick, “DBX Tool: A Window-based Symbolic Debugger for Sun Workstations, “ Software Practice and Experience, July 1986, pp.653-669
    [2] J.H. Griffin, H.J. Wasserman, and L.P. Mcgavran, “A Debugger for Parallel Process,” Software Practice and Experience, Dec. 1988, pp.1,179-1.190
    [3] Thomas G. Moher. “PROVIDE: A process visualization and debugging environment,” IEEE Transactions on Software Engineering, 14(6):849-857, June 1988.
    [4] B. Myers, R. Chandhok, and A. Sareen, “Automatic Data Visualization for Novice Pascal Programmers,” IEEE workshop Visual Languages, Oct. 1988, pp. 192-198.
    [5] D.P. Pazel, “DS-Viewer: An Interactive Graphical Data-Structure Presentation Facility,” IBM Systems Journal, No. 2, 1989, pp.307-323
    [6] S. Isoda, T. Shimomura, and Y. Ono, “VIPS: A Visual Debugger,” IEEE Software, May 1987, pp. 8-19.
    [7] S. Isoda, T. Shimomura, “Linked-List Visualization for Debugging,” IEEE Software, May 1991, pp. 44-51.
    [8] R. Baecker, With the assistance of Dave Sherman, Sorting out Sorting, 30 minute color sound film, Dynamic Graphic Project, University of Toronto, 1981.
    [9] M. Brown, Algorithm Animation, MIT Press, Cambridge MA, 1988.
    [10] M. Brown, “ZEUS: A system for algorithm animation and multi-view editing,” Proceedings of the 1991 IEEE Workshop on Visual Languages, Kobe, Japan, October 1991, pp.4-9.
    [11] B. Myers, Taxonomies of Visual Programming and Program Visualization. Journal of Visual Languages and Computing, Vol. 1, No. 1, March 1990, pp.97-123.
    [12] R. Baecker, A. Marcus, Human Factors and Typography for More Readable Programs, Addison-Wesley, Reading, Massachusetts, 1990.
    [13] J. Stasko, J. Wehrli, “Three-dimensional Computation Visualization,” Proceedings of the 1993 IEEE Symposium on Visual Language, Bergen, Norway, August 1993, pp. 100-107
    [14] E. Koutsofios, S. North “Drwaing graphs with dot,” dot User’s Manual, February 4 2002
    [15] E. R. Gansner, E. Koutsofios, S. North, and Kiem-Phong Vo. “A Technique for Drawing Directed Graphs,” IEEE Trans. Software Eng., 19(3):214-230, May 1993.
    [16] J. Stasko, J. Domingue, Marc H. Brown, Blain A. Price, “Software visualization : programming as a multimedia experience,” Cambridge, Mass. : MIT Press, c1998

    QR CODE