研究生: |
陳日峰 Jih-Feng Chen |
---|---|
論文名稱: |
解決DIVA上動態資料和視覺化隱喻的映對 An approach to Mapping Between Dynamic Data and Visualization in DIVA |
指導教授: |
鄭永斌
Cheng, Yung-Pin |
學位類別: |
碩士 Master |
系所名稱: |
資訊工程學系 Department of Computer Science and Information Engineering |
論文出版年: | 2008 |
畢業學年度: | 96 |
語文別: | 中文 |
論文頁數: | 49 |
中文關鍵詞: | 軟體視覺化 、資料圖形對映 、除錯器前端 、圖形組合 |
英文關鍵詞: | DIVA, mapping, visualization, VM, Minerva |
論文種類: | 學術論文 |
相關次數: | 點閱:193 下載:1 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
隨著時代的改變,軟體日漸變得複雜且龐大。然而除錯的技術和工具並沒有追上軟體的進步速度,除了除錯器的使用之外,使用者至今還時常得依賴插入額外的程式碼(例如說,printf)來幫助除錯。雖然近來已經有許多軟體視覺化工具透過圖形表示來視覺化軟體資料以幫助程式設計師除錯,但它們在使用上還有許多限制。例如只能視覺化特定的資料結構,或者是需要使用者撰寫額外的視覺化程式碼。因為這些種種的限制,讓軟體視覺化工具無法成為程式設計人員每天使用的實用工具。
因此,我們提供一個軟體視覺化除錯工具DIVA(Debugging Information Visualization Assistant)來幫助程式設計師除錯軟體。DIVA使用3D的圖形,顏色和動畫來視覺化軟體。讓使用者以理想的VM(Visualization Metaphor)來視覺化變數和資料結構。
本篇論文中,我們在DIVA上設計一個Mapping Engine,透過Mapping Engine的存在能將資料和VM 做到去除耦合(decoupling),讓變數資料和VM能在低耦合的情況下相互作用。Mapping Engine提供一個簡易的操作視窗能讓使用者在上面選擇資料和VM間的對映關係並且組合VM。經由VM之間的組合,一個複雜的VM可以由許多基礎的VM組合而成,以達到可組合性以及視覺化彈性。
When software grows larger and more complicated, debugging tools have maed little progress. When debugging computer programs with complicated data structure, users may still rely on inserting extra code (for example, printf) to aid debugging. Although there are many visualization tools that help programmers to debug by graphs, pictures, and animation, they are still limited and not prevalent for practical uses. For example, these tools may limit their visualization for data structure of a particular class or users may have to write extra visualization code. These drawbacks limit the practical usage of visualization tool in programmers’ everyday life.
In this thesis, a visualization tool called DIVA(Debugging Information Visualization Assistant) is proposed to help programmers debugging their software. DIVA use 3D graphs, pictures, and animation to visualize user data structure. The goal of DIVA is to provide an environment which allow users to compose ideal visualization metaphors for their interested data structures in a convenient and friendly manner. We design a Mapping Engine to help user mapping their data into appropriate VM. This mapping engine enables a new flexible, composable, and extensible mapping approach that address the difficult mapping problem in software visualization.
[1] Yung-Pin Cheng, DIVA : A Debugging Visualization System with Composable and Interactive Visualization Metaphors, 2007
[2] Knight, Munro, Visualising Software – A Key Research Area, Proceedings of the IEEE International Conference on Software Maintenance, page: 437, 1999
[3] F. P. Brooks, No Silver Bullet – essence and accidents of software engineering, Proceedings of the IFIP Tenth World Computing Conference, Page: 1069-1076, 1996
[4] http://en.wikipedia.org/wiki/Unified_Modeling_Language
[5] Steven P. Reiss, An Overview of Bloom, Department of Computer Science Brown University
[6] M. Lanza, CodeCrawler – An Extensible and Language Independent 2D and 3D Software Visualization Tool, In Tools for Software Maintenance and Reengineering, page: 74 – 94, RCOST / Software Technology Series, Franco Angeli, 2005
[7] http://en.wikipedia.org/wiki/Software_metrics
[8] Projects using OGRE, http://www.ogre3d.org/wiki/index.php/Projects_using_ogre
[9] Graphviz, http://www.graphviz.org/
[10] J. B. Rosenberg, How Debuggers Work: Algorithms, Data Structure, and Architecture, ISBN: 0-471-14966-7, John Wiley & Sons, 1996
[11] A. Kolawa, Parasoft, The Evolution of Sofrware Debugging,
http://www.parasoft.com/jsp/products/article.jps?articleID=490
[12] B. Lewis, Debuggin backwards in time, in M. Ronsse, K. De Bosschere (eds), proceedings of the Fifth International Workshop on Automated Debugging, 2003
[13] H. Agrawal R. A. DeMillo and E. H. Spafford, An Execution-Backtracking Approach to Debugging, IEEE Software (1991), Page: 21-26, 1991
[14] P. Crescenzi, C. Demetrescu, I. Finocchi and R. Petreschi, Reversible Execution and Visualization of Programs with LEONARDO, Journal of Visual Languages & Computing, 11 (2000), pages: 125-150,2000
[15] R. M. Stallman, R. Pesch and S. Shebs, Debuggin with GDB: The GNU Source-Level Debugger, Copyright (C) 1988-2006 Free Software Foundation, Inc.http://www.gnu.org/software/gdb/documentation
[16] The Data Display Debugger (ddd), available on http://www.gnu.org/software/ddd
[17] Steven P. Reiss and Manos Renieris, Demonstration of jive and jove: Java as it happens. In ICSE ’05: Proceedings of the 27th international conference on Software engineering, New York,NY,USA,2005 ACM Press
[18] Wim De Pauw, Erik Jensen, Nick Mitchell, Visualization the Execution of Java Programs, IBM T.J. Watson Research Center
[19] Katharina Mehner. Javis: A uml-based visualization and debugging environment for concurrent java programs. In Software Visualization, pages 163–175, 2001.
[20] Emden Gansner and Eleftherios Koutsofios and Stephen North, Drawing Graphs with DOT, 2006
[21] J. Carlsson, Optimisation of a Graph Visualization Tool: Vizz3D
[22] Craig Anslow and Stuart Marshall and James Noble and Robert Biddle, Software Visualization Tools for Component Reuse, 2005
[22] http://en.wikipedia.org/wiki/Proxy_pattern