研究生: |
盧雅宣 |
---|---|
論文名稱: |
製作電腦程式除錯訊息動畫的動畫事件順序 Animation Ordering of Debugging Animation |
指導教授: | 鄭永斌 |
學位類別: |
碩士 Master |
系所名稱: |
資訊工程學系 Department of Computer Science and Information Engineering |
論文出版年: | 2011 |
畢業學年度: | 99 |
語文別: | 中文 |
論文頁數: | 36 |
中文關鍵詞: | 除錯動畫 、軟體視覺化 |
英文關鍵詞: | Debugging Animation, Software Visualize |
論文種類: | 學術論文 |
相關次數: | 點閱:164 下載:5 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
理解程式碼在開發軟體的過程中是一個很重要的環節。隨著程式的複雜度越來越高,理解程式碼的工作也變得越來越艱難,一般傳統除錯器隨著程式的複雜度增加,對於程式設計師的幫助也就跟著減少。尤其要在既有的軟體上加入新的功能或者要將程式碼作重構,勢必要了解部分或者全部程式碼的運作流程,當面對複雜且龐大的資料結構時,就不是在短時間內所可以理解的。在文字除錯器效用有限的情況下,出現了許多軟體視覺化的程式,來幫助程式開發者了解複雜的結構。
為了讓程式開發者能夠從圖形的改變來了解程式的運作,我們提出了xDiva這個軟體視覺化的系統。藉由視覺化隱喻(visualization metaphor, VM)本身的改變和位置的改變來呈現一段動畫,並且在動畫中呈現出中斷點與中斷點之間程式的動態行為。
如何讓動畫的呈現變得有意義,使程式開發者在理解程式碼時能夠從動畫中獲得所需要的資訊。在本篇論文中,試著從VM改變的事件中,將不同事件的發生順序互相做排列,進而尋找出較符合人類思考的動畫順序。
Understand the code in the software development process is a very important part. With the increasing complexity of the program, understanding the code has also become increasingly difficult, conventional debugger for helping programmers will become limited.
Especially in the existing software, programmer have to add new functionality or make refactoring code, is bound to some or all of the code to understand the operation of the process, face to the complex and large data structures. We can not understand those code in short time. When the text debugger’s effectiveness has limited, there were many visual programming software provider to help developers understand the complex structure.
To make the program developers understand from the graphical changes to the operation of the program, we developed xDiva, a software visualization system. Through visual metaphors (visualization metaphor, VM) itself changes and position changes to render an animation, and shown in the animation of the program's dynamic behavior between the two breakpoints
.
How to make animation meaningful, let program developers understand the code when the animation can be obtained from the information they need. In this paper, we try to search a sequence from the different sequence of events, and then find out the closer animation sequence of human thinking.
[1] D. Aharoni, “Cogito, Ergo sum! cognitive processes of students dealing with data structures”, Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, Austin, Texas, United States: ACM, 2000, pp. 26–30.
[2] A. Zeller and D. Lütkehaus, “DDD\—a free graphical front-end for UNIX debuggers”, SIGPLAN Not., vol. 31, Jan. 1996, pp. 22–27.
[3] J. Helminen and L. Malmi, “Jype - a program visualization and programming exercise tool for Python”, Proceedings of the 5th international symposium on Software visualization, Salt Lake City, Utah, USA: ACM, 2010, pp. 153–162.
[4] Y.-P. Cheng, J.-F. Chen, M.-C. Chiu, N.-W. Lai, and C.-C. Tseng, “xDIVA: a debugging visualization system with composable visualization metaphors”, Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, Nashville, TN, USA: ACM, 2008, pp. 807–810.
[5] Y.-P. Cheng, H.-Y. Tsai, C.-S. Wang, and C.-H. Hsueh, “xDIVA: automatic animation between debugging break points”, Proceedings of the 5th international symposium on Software visualization, Salt Lake City, Utah, USA: ACM, 2010, pp. 221–222.
[6] A.E.R. Campbell, G.L. Catto, and E.E. Hansen, “Language-independent interactive data visualization”, SIGCSE Bull., vol. 35, Jan. 2003, pp. 215–219.
[7] G. Xie, Y. Xu, Y. Li, and Q. Li, “Codebugger: a software tool for cooperative debugging”, SIGPLAN Not., vol. 35, Feb. 2000, pp. 54–60.
[8] P.G. McDonald, “Using algorithm animations to assist teaching state space search: an empirical evaluation”, Proceedings of the Australasian conference on Computing education, Melbourne, Australia: ACM, 2000, pp. 174–181.
[9] S.L. Tanimoto and S. Levialdi, “A transparent interface to state-space search programs”, Proceedings of the 2006 ACM symposium on Software visualization, Brighton, United Kingdom: ACM, 2006, pp. 151–152.
[10] G. Ochoa, R. Qu, and E.K. Burke, “Analyzing the landscape of a graph based hyper-heuristic for timetabling problems”, Proceedings of the 11th Annual conference on Genetic and evolutionary computation, Montreal, Québec, Canada: ACM, 2009, pp. 341–348.
[11] V. Atanassova and K. Atanassov, “Ant colony optimization approach to tokens’ movement within generalized nets”, Proceedings of the 7th international conference on Numerical methods and applications, Borovets, Bulgaria: Springer-Verlag, 2011, pp. 240–247.
[12] R.M. Karp and J. Pearl, “Searching for an optimal path in a tree with random costs”, Artif. Intell., vol. 21, Mar. 1983, pp. 99–116.
[13] T.N. Bui and C.M. Zrncic, “An ant-based algorithm for finding degree-constrained minimum spanning tree”, Proceedings of the 8th annual conference on Genetic and evolutionary computation, Seattle, Washington, USA: ACM, 2006, pp. 11–18.
[14] B. Ekşioğlu, S.D. Ekşioğlu, and P. Jain, “A tabu search algorithm for the flowshop scheduling problem with changing neighborhoods”, Comput. Ind. Eng., vol. 54, Feb. 2008, pp. 1–11.
[15] A. Runka, “Evolving an edge selection formula for ant colony optimization”, Proceedings of the 11th Annual conference on Genetic and evolutionary computation, Montreal, Québec, Canada: ACM, 2009, pp. 1075–1082.
[16] R.L. Wainwright, “A family of genetic algorithm packages on a workstation for solving combinatorial optimization problems”, SIGICE Bull., vol. 19, Feb. 1994, pp. 30–36.
[17] L.A. McLay and D.E. Goldberg, “Efficient Genetic Algorithms Using Discretization Scheduling”, Evol. Comput., vol. 13, Sep. 2005, pp. 353–385.
[18] O. Catoni, “Solving Scheduling Problems by Simulated Annealing”, SIAM J. Control Optim., vol. 36, Sep. 1998, pp. 1539–1575.
[19] D. Boughaci and H. Drias, “Solving weighted Max-Sat optimization problems using a Taboo Scatter Search metaheuristic”, Proceedings of the 2004 ACM symposium on Applied computing, Nicosia, Cyprus: ACM, 2004, pp. 35–36.
[20] M. Fleischer, “Simulated annealing: past, present, and future”, Proceedings of the 27th conference on Winter simulation, Arlington, Virginia, United States: IEEE Computer Society, 1995, pp. 155–161.
[21] L.P. na Castillo and S. Wrobel, “A comparative study on methods for reducing myopia of hill-climbing search in multirelational learning”, Proceedings of the twenty-first international conference on Machine learning, Banff, Alberta, Canada: ACM, 2004, p. 19–.
[22] D. Iclanzan and D. Dumitrescu, “Overcoming hierarchical difficulty by hill-climbing the building block structure”, Proceedings of the 9th annual conference on Genetic and evolutionary computation, London, England: ACM, 2007, pp. 1256–1263.
[23] 維基百科 曼哈頓距離
http://zh.wikipedia.org/wiki/%E6%9B%BC%E5%93%88%E9%A0%93%E8%B7%9D%E9%9B%A2
[24] OGRE
http://www.ogre3d.org/
[25 ] A* algorithm tutorial http://www.heyes-jones.com/astar.html
[26] L. Mandow and J.L.P. De La Cruz, “Multiobjective A* search with consistent heuristics”, J. ACM, vol. 57, Jun. 2008, pp. 27:1–27:25.
[27] M.E. Tudoreanu, “Designing effective program visualization tools for reducing user’s cognitive effort”, Proceedings of the 2003 ACM symposium on Software visualization, San Diego, California: ACM, 2003, p. 105–ff.
[28] Stasko, J.: Tango: A framework and system for algorithm animation. In IEEE Computer, 23, 9, 27-39, 1990.
[29] Moreno, A., Myller, N., Sutinen, E., and Ben-Ari, M.: Visualizing Programs with Jeliot 3. In the Proceedings of the International Working Conference on Advanced Visual Interfaces AVI 2004, Gallipoli (Lecce), Italy, 25-28 May, 2004 © ACM, 2004
[30] Lauer, T., Muller, R. & Ottmann, T.: Animations for Teaching Purposes: Now and Tomorrow. Special Issue of the Journal of Universal Computer Science (J.UCS), 7, 5, 420-433, 2001