Dissimilarity NWA Algorithm
From OO Lab
Revision as of 13:39, 10 July 2014 by Rickychien (Talk | contribs)
Contents |
Introduction
程式執行時,所拜訪過的程式碼片段,組合而成一個序列,稱之為執行序列(Execution Sequence)。不同執行序列間因可能執行過共同的程式碼片段,而存在著關聯性。執行序列常於測試案例選擇的研究中被探討,類似生物資訊領域中計算序列相似度時,利用一些常見的距離(Distance)或相似度(Similarity)計算公式,探討序列間彼此的差異以提供分類或是選擇的依據。以往執行序列的距離及相似度計算公式,在物件導向的程式執行序列中,並無法分辨出多型(polymorphism)這樣的特性。因此本研究利用生物資訊領域中計算序列相似度的演算法Needleman – Wunsch Algorithm ( NWA ),納入執行序列發生多型行為及程式執行順序等特性為考量,提出計算出執行序列間差異度(Dissimilarity)的方法,以解決目前探討執行序列相似度所存在之問題。
Download
原始碼託管於oolab's gitlab,使用git指令下載 (請確認擁有該repository權限)
git@140.115.53.53:oolab/dissimilarity.git
Installation
Dissimilarity專案為Visual Studio 2012,下載原始碼後可以直接透過點擊sln開啟專案。
Program structure
Dissimilarity屬於小型專案,程式碼大約300多行。主體架構分為兩個檔案
- Program.cs - 程式主體,負責讀檔與輸出結果
- NeedlemanWunsch.cs - NWA演算法核心