透過您的圖書館登入
IP:18.216.232.90
  • 學位論文

xDIVA之Graph陳列及侵入式測試自動化之設計與實作

Design and Implementation of Graph Layout and Intrusive Test Automation of xDIVA

指導教授 : 鄭永斌
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


近年來的軟體視覺化工具可以透過圖形來視覺化程式內部的資料以幫助程式設計師除錯,但它們在實用上還有許多限制,使得軟體視覺化工具無法普及並成為程式設計人員每天使用的工具之一。xDIVA(eXtreme Debugging Information Visualization Assistant)[1]是本實驗室所開發的視覺化除錯工具,可處理複雜多變的資料結構。xDIVA使用3D的圖形、顏色和動畫以盡可能地滿足除錯時視覺化的需求。 本論文包含兩個子主題:Graph Layout以及測試自動化。Graph是程式中常見的資料結構,而這方面的視覺化方法已經不少。其中最知名的graph視覺化陳列工具就屬AT&T實驗室所開發的Graphviz[2]。為了增強xDIVA之graph視覺化,本論文在xDIVA現有的陳列系統架構下,將 Graphviz 的陳列能力加入 xDIVA。而這個過程也用來檢驗xDIVA的陳列架構是否能夠輕鬆地移植陳列演算法。 另外,xDIVA經過多年的發展,在開發上常會因為一點修改而衍生其他錯誤,導致系統的不穩定。而運用人工重新執行所有測試案例不僅費時,也費力。這項工作一般稱之為迴歸測試。迴歸測試已經有許多商業化的工具可供選擇,但是商業化的工具除了價格可能太過昂貴之外,也必須面臨開發平台不被支援,甚至不適用特定應用(如本實驗室的xDIVA)。因此,本篇論文提出以侵入式測試為基礎的自動化迴歸測試。所謂侵入式測試指的是我們運用program instrumentation技術在xDIVA的原始程式碼中插入測試程式碼。在錄製測試案例的過程當中,透過程式碼取得必要的資訊並儲存。當重新執行時,由這些測試程式碼收集的資料與錄製的測試案例進行比對與驗證,以檢驗迴歸測試是否成功。

並列摘要


Software visualization tools nowadays can help programmers debugging by visualizing program data as graphics. Visualization tools in practice are limited because they are domain-specific or have fixed visualizations. xDIVA (eXtreme Debugging Information Visualization Assistant)[1] is a debugging visualization tool developed by our laboratory for handling the visualization for arbitrary data types. xDIVA uses 3D shapes, colors and animations to visualize data in a way that is not limited by the fixed visualization. This thesis has two topics: graph layout and test automation. Graph is a commonly used data structure in computer programs. The visualization of graph already has fruitful research results. One of the popular graph visualization tools is Graphviz [2] developed by AT&T laboratory. In this thesis, we port Graphviz into xDIVA to enhance the capability of graph visualization in xDIVA. It is also a process to validate and improve whether xDIVA layout framework allows layout algorithms to add in an easy manner. Besides, xDIVA has developed for years. Sometimes a bug fix produces other bugs. It is necessary to execute all the test cases manually, albeit time-consuming. This process is known as regression testing and should by automated. Commercial test automation tools for regression testing are prevalent, but they can be expensive. However, these commercial tools are not suitable for the test automation of xDIVA. In this thesis, we produce an in-house test automation tool, which is intrusive because additional code needs to be inserted into source code as probing points. When xDIVA executes, the probing points record and collect program runtime information to verify the correctness of the test cases.

並列關鍵字

無資料

參考文獻


[1] 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” in Proc. ACM SIGPLAN International Conf. OOPSLA’08, Nashville, TN, USA. 2008
[3] G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language user guide, 1st ed. Addison-Wesley, 1997
[6] N. E. Fenton and S. L. Pfleeger, “Software Metrics: A Rigorous and Practical Approach”, 2nd ed. Brooks-Cole, 1997.
[7] M. Fewster, and D. Graham, Software Test Automation: Effective Use of Test Execution Tools. 1st ed. Reading, MA: Addison-Wesley. 1999
[14] A. Zeller, and D. Lütkehaus. “DDD—A free graphical front-end for UNIX debuggers”. In Proc. of the ACM SIGPLAN Notices, pp. 22–27, New York, NY, USA, 1996

延伸閱讀