研究生: |
范畯浩 |
---|---|
論文名稱: |
DIVINE: An Immersive 3D Debugging Information Visualization System Using Metaphor DIVINE: An Immersive 3D Debugging Information Visualization System Using Metaphor |
指導教授: |
鄭永斌
Cheng, Yung-Pin |
學位類別: |
碩士 Master |
系所名稱: |
資訊教育研究所 Graduate Institute of Information and Computer Education |
論文出版年: | 2004 |
畢業學年度: | 92 |
語文別: | 英文 |
論文頁數: | 45 |
中文關鍵詞: | 除錯資訊 、視覺化 、DIVINE 、HILCADT |
英文關鍵詞: | debugging information, visualization, DIVINE, HILCADT |
論文種類: | 學術論文 |
相關次數: | 點閱:269 下載:2 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
除錯器是現今程式發展整合環境中的標準部分,典型的除錯流程包括設定中斷點,逐步執行,觀察變數值等等。大部分的除錯器還包括圖形使用者介面可以讓使用者利用滑鼠呼叫一些基本的功能。但是程式設計師仍必須從一堆文字型態的資料中找出有意義的資訊,並將抽象的概念具體化來模擬程式的運作,進而發覺程式可能發生錯誤的地方。而這些事情即使對於一個很有程式設計經驗的老手而言也不是一件簡單的事情。何況程式的規模和複雜度日漸增加,除錯的問題也將越來越棘手,所以除錯工具必須提供更有效的協助給程式設計師。
過去,我們實做了一個名為DIVINE的視覺化除錯工具,它將一個名為HILCADT的除錯器所得到的除錯資訊予以視覺化,使得這些資訊可以在3D空間中呈現,讓程式設計師可以透過它輕易的看出程式中變數的內容及資料結構。但是先前的DIVINE雖然達到了3D空間展示資訊的目標,但是它始終只有一種表示資料的方法。於是我們這次加強了DIVINE的功能,導入了metaphor的概念,讓使用者可以隨時切換展示資料的方法,也提供了更強大更人性化的互動設計,這些改變都能更進一步幫助使用者了解被除錯程式複雜的資料結構。
Developing efficient, bug free software is much more difficult than before because the complexity of software has grown significantly than before. We need some tools such as debuggers to help developers correct the program errors. Nevertheless, debugging a complex program is not easy. Programmers need to gather enough information of program states which are formed by variable values, data structures, to pinpoint the causes of program errors and then fix them.
DIVINE [17] is a 3D debugging visualization tool we are developing. In the past, it provides a visualization of linked-list data structure in 3D environment and interactions to manipulate the elements in the linked-list. The visualization system DIVINE communicates with HILCADT [11], a debugger for Java language.
In this thesis, we enhance DIVINE by supporting the concept of metaphors and support more human natural interactions between users and the system. Metaphor is a way of presenting a set of data. If the information can be displayed in only one way it may not be adequate for users to understand complicated data structure. It is much more helpful if programmers can visualize the debugging information using appropriate metaphors with well-designed, useful interactions. The goal of this thesis is to study and implement the 3D metaphors of data structures in computer programs.
[1].R. M. Baecker, “Sorting out Sorting” (video), in ACM SIGGRAPH Video Review 7, 1981.
[2].R. M. Baecker and A. Marcus, “Human Factors and Typography for More Readable Programs,” ACM Press, Addison Wesley, 1990.
[3].M. H. Brown, “Algorithm Animation,” ACM Distinguished Dissertations Series, MIT Press, 1988.
[4].M. H. Brown “ZEUS: A System for Algorithm Animation and Multi-View Editing,” Proceedings, 1991 IEEE Workshop on Visual Languages pp, 4-9.
[5].D. Duke, “Modular Techniques in Information Visualization,” IEEE Transactions on Visualization and Computer Graphics, Jan. 2000, pp, 11-18.
[6].E. R. Gansner, E. Koutsofios, S. C. North, and K. P. Vo, “A Technique for Drawing Directed Graphs,” IEEE Transaction on Software Engineering, pp, 214-230, 1993.
[7].M. Golan and D. R. Hanson, “A Very High Level Debugging Language,” Winter USENIX Technical Conference Proceedings, 1993.
[8].I. Herman, M. S. Marshall, G. Melanon, D. J. Duke, M. Delect, and J. –P. Domenger, “Skeletal Images as Visual Cues in Graphs Visualization,” Data Visualization ’99, Proceedings of Joint Eurographics and IEEE TCVG Symposium on Visualization, Springer-Verlag, pp, 13-22, 1999.
[9].J. K. Hollingsworth, B. P. Miller, M. J. R. Goncalves, O. Naim, Z. Xu, and L. Zheng, “MDL: A Language and Compiler for Dynamic Program Instrumentation,” International Conference on Parallel Architectures and Compilation Techniques Proceedings, Nov 1997.
[10].J. K. Hollingsworth, B. P. Miller, and J. M. Cargille, “Dynamic Program Instrumentation for Scalable Performance Tools,” Scalable High Performance Computing Conference Proceedings, May 1994.
[11].Ji Long, “High-Level Computer Aided Debugging Tool,” SE Lab, ICE, NTNU, Jun 2004.
[12].D. Marr, “Vision: A computational Investigation into Human Representation and Proceeding of Visual Information,” W. H. Freeman, 1982.
[13].B. P. Miller, J. K. Hollingsworth, M. D. Callaghan, R. B. Irvin, K. L. Karavanic, K. Kunchithapadam, and T. Newhall, “The Paradyn Parallel Performance Measurement Tools,” IEEE Computer, Nov 1995.
[14].B. A. Myers, R. Chandhok, and A. Sareen, “Automatic Data Visualization for Novice Pascal Programmers,” IEEE Workshop on Visual Languages Proceedings, pp, 192-198, Oct, 1988.
[15].R. A. Olsson, R. H. Crawford, and W. W. Ho, “Dalek: A GNU, Improved Programmable Debugger,” Summer USENIX Technical Conference Proceedings, pp, 221-231, June 1990.
[16].R. A. Olsson, R. H. Crawford, W. W. Ho and C. E. Wee, “Sequential Debugging at a High Level of Abstraction,” IEEE Software, pp, 27-36, May 1991.
[17].Yi-wei Peng, “Interactive 3D Debugging Information Visualization for Linked-List Data Structure,” SE Lab, ICE, NTNU, Jul 2003.
[18].G. G. Robertson, J. D. MacKinlay, and S. K. Card, “Cone Trees: Animated 3D Visualizations of Hierarchical Information,” Proceedings of ACM SICHI ’91 Conference on Human Factors in Computer System, pp, 189-194, 1991.
[19].J. B. Rosenberg, “How Debuggers Work: Algorithms, Data Structures, and Architecture”, John Wiley, 1996.
[20].W. Schroeder, K. Martin, and B. Lorensen, “The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics, 2nd Edition,” Prentice Hall, 1998.
[21].J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, “Software Visualization: Programming as a Multimedia Experience,” MIT Press, 1997.
[22].J. T. Stasko, “TANGO: A Framework and System for Algorithm Animation,” IEEE Computer, Vol. 23, No.9, pp, 27-39.
[23].C. Upson, T. Fulhauber, D. Kamins, D. Laidlaw, D. Schlegel, J. Vroom, R. Gruwitz, and A. van Dam A, “The Application Visualization System: A Computational Environment for Scientific Visualization,” IEEE Computer Graphics and Applications, pp, 30-42, 1989.
[24].Collins COBUILD Dictionary, http://www.cobuild.collins.co.uk/
[25].DBX, http://www.physics.utah.edu/~p573/hamlet/lessons/dbx/dbx/dbx.html
[26].DirectX, http://www.microsoft.com/windows/directx/default.aspx
[27].GDB: the GNU Project Debugger, http://www.gnu.org/software/gdb/gdb.html
[28].JDB, http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/jdb.html
[29].JPDA, http://java.sun.com/j2se/1.3/docs/guide/jpda/index.html
[30].RenderWare, http://www.renderware.com/index.asp
[31].Sense8 World Tool Kit, http://www.sense8.com/
[32].Unreal Technology, http://unreal.epicgames.com/
[33].Virtools, http://www.virtools.com/
[34].XDE command, http://orion.cecalc.ula.ve/documentacion/mans/xde.html