儘管軟體視覺化工具已經有很大的進展,但是現在的程式設計師仍然必須依賴插入額外的程式碼(像是printf)來顯示複雜的程式狀態以進行除錯。直到最近才開始有像 DDD(Data Display Debugger)這類的除錯工具提供程式設計師資料型態的視覺化。但是這類的軟體工具依然有許多的限制。實務應用上,軟體視覺化仍然存在許多障礙,最主要的原因是程式的資料型態具備多樣性與廣泛性。面對資料型態在各個領域的多變與複雜,讓依賴固定視覺化方式的工具,都難以在實用上符合使用者的興趣。在這個計畫中,我們嘗試去解決這個問題,並提出建構一個視覺化除錯軟體,叫xDIVA。xDIVA 導入3D 繪圖引擎,靠使用3D 的圖形,顏色和動畫,來視覺化軟體與除錯資訊。xDIVA 透過謹慎小心的物件導向分析與設計,讓VM (Visualization Metaphor) 和變數資料能夠在最低耦合的情況,可以與使用者互動,還可以互相合成。一個複雜的VM 可以由許多基礎的 VM 組合而成。每個VM 都是獨立可以替代的。初步的一些成果與應用,將用來展示xDIVA 的好處,而本計畫的未來工作將對xDIVA 做更進一步的提升。Despite the progress made in the field of program visualization, programmers nowadays still rely on inserting extra code (e.g., print statements) to visualize complicated program states during debugging. Only recently have tools such as DDD (Data Display Debugger) began to provide visualization of data types for programmers. Still such visualizations are limited. There are many obstacles that have impeded and continue to impede program visualization for practical use. A major one is the wide variety of data types in a computer program. Given the variety and complexity of computations for many domains, it is unlikely that visualizations will be available a priori to cover everything that might be of interest. As an attempt to address the problem, a debugging visualization tool called xDIVA is presented in this proposal. The visual effects of xDIVA use 3-D shapes, colors, and animations from a 3-D rendering engine. xDIVA conducts a novel and meticulous object-oriented design so that visualization metaphors are interactive, composable, and decoupled from data, i.e. a complicated visualization metaphor can be composed and assembled from basic ones, each of which is independently replaceable. The benefits of xDIVA can already be demonstrated by several applications. 研究期間:10008 ~ 10107