Electronic Design Automation 電子設計自動化 xDIVA Debug 中央大學 EDA VM 除錯

跨界萬用除錯器 3D視覺顛覆傳統工具

對程式設計師、工程師以及許多科技資訊工作者而言,除錯器(Debugger)是不可或缺的一項工具。除錯器的主要功能,在於幫助使用者在程式運作時找出臭蟲(Bug),並予以排除;然而,身為工具,必然存在著某種限制。
由中央大學資工系鄭永斌教授所主持的「xDIVA──具備可合成與互動之除錯資訊視覺化軟體工具」自由軟體專案,從協助資訊工程工作者的立場出發,力圖跨越工具的有限性,探索跨界與創新的可能空間。

「活」的軟體,而非「死」的工具

「xDIVA──具備可合成與互動之除錯資訊視覺化軟體工具」是一個總共為期四年的專案,由中央大學資工系鄭永斌教授主持,主要研發目的,是開發一個能夠跨領域,甚至跨界域的除錯工具。

一般來說,資訊軟體的開發通常必須用到諸多不同的工具,除錯器便是其中非常重要的一項,因為在程式開發中,不免會遭遇一些錯誤,此時,便需要除錯器的協助,才能順利校正修補。

鄭教授表示,近十幾年來,除錯器就工具本身的演進並未呈現出顯著的改進,「因為我研究的領域正好是軟體工程,從理念發想、產生樣品,到真正推出產品,這段流程需要走過一段滿長的距離,最快的測試方式,就是釋放在網路平台上,讓人們自由分享與使用,但如果真的要做到產品化規格,便不只是測試與修改那麼簡單。許多的學研專案都停留在完成樣品的階段就結案,但我們這個專案不同的地方,在於我們是真心地想做出穩定的產品,讓程式設計師、工程師與資訊工作者能夠實用!」

▲中央大學資工系鄭永斌教授主持「xDIVA──具備可合成與互動之除錯資訊視覺化軟體工具」自由軟體專案。
鄭教授說道,不同的軟體程式與專題領域,有其個別相應不同的除錯需求,鄭教授援引自己在中央研究院的經驗為例,當時鄭教授主要研究「光學文字辨認」,簡單來講,就是將文字或影像透過光學掃描轉換成數位檔案,也時常有修改程式的需要,但一旦修改,就發現錯誤率頓時提高,這時便需要一項一項地分別除錯,不僅耗時間也耗心力。於是,鄭教授的作法是以互動性為概念,重新寫一個屬於該專題專用的視覺化除錯器程式。

由於每個應用領域都擁有自己專用的除錯器,基於領域限制,研發出來的除錯器無法進行跨領域的普遍應用,鄭教授說道:「我的腦中開始孕育一個想法:如果可以做出一個能夠跨領域應用的除錯器,可以通用於所有的軟體程式與專題領域,比如影像處理、Layout設計、工業領域等等,都可以使用同一個除錯器,來輕鬆地協助使用者普遍應用,可以節省許多力氣。」而這正是xDIVA誕生的源頭。

創新,從腳踏實地開始

鄭教授說道,當初決定做這個題目時瀏覽過許多相關研究資料,包括目前被稱為「二元樹」的資料結構,但這類資料結構多被運用在資訊教育上,作為老師給學生練習之用,無法應付程式設計師的需求;加上每個領域的資料結構各有差異,產生了視覺化的套用問題,除錯器在設計上往往為了應對某個程式而被寫死,一旦程式變化,立即發生不適用問題,這也是視覺化程式的通病,也正是xDIVA面對的燙手山芋。

「我想做的不是去特定寫死一個程式,而是提供許多基本的視覺元素,來兜合出新的視覺化效果。換句話說,xDIVA提供的內涵有如物理學中的基本粒子,是一種包含了各種基本元素的系統,你可以依照自己的需求去編輯、組織,依照不同的資料結構來自由組合,就好像樂高積木有許多元件,可供人去發揮創意,組合成想像中的形體。」

xDIVA利用人類視覺感官的直覺運作,提供了視覺化與隱喻性的多重組合。傳統除錯器是利用文字及數值來顯示變數,但文字或數值的理解還需經過視覺與大腦的轉換,「用眼睛看就能夠了解的東西,用文字反而卻無法看見。以影像程式來說,影像具有RGB三個值,若是將某個像素的RGB印在紙上,其實你光看數值,只能自己判斷這個到底是什麼顏色,但如果運用3D視覺化工具,就能當場以互動的方式展現出來。」

鄭教授笑道:「年輕時我自己也寫過很多程式,光是一個Bug就要花很多時間處理,除錯這個概念,除了使用者本身的經驗與功力,如果有一個跨領域的好工具則會更加實用。講得偉大一點,我想要顛覆現在既有的除錯器,提供一種新式的3D視覺化除錯器!」

產學合作,創造跨界新價值

以比喻法來說,鄭教授認為:「xDIVA就像iPad,使用者不用特地去學3D影像化互動技術,直接就能一目了然;而傳統除錯器就像DOS,單純只是純文字互動,必須下很多結構化的指令。」

從純粹的學術研究興趣到實際的研究成果,「xDIVA──具備可合成與互動之除錯資訊視覺化軟體工具」的研發成就已成功獲得學術界的肯定,但鄭教授更希望在實用層面上有所提升,是故展開與業界合作的嘗試。試用對象主要為EDA(Electronic Design Automation,電子設計自動化)廠商,由於一般企業對資訊軟體的需求通常傾向直接購買套裝軟體,而這些軟體大都由EDA廠商開發寫成,而xDIVA主要提供給EDA廠商試用,這些廠商雖然自己也有寫除錯工具,但問題是,因為是特地針對某個程式所寫的,一旦除錯情境變動,工具就必須整體更新,所費成本不貲。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!