Dissimilarity NWA Algorithm

From OO Lab
Revision as of 15:39, 10 July 2014 by Rickychien (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

程式執行時,所拜訪過的程式碼片段,組合而成一個序列,稱之為執行序列(Execution Sequence)。不同執行序列間因可能執行過共同的程式碼片段,而存在著關聯性。執行序列常於測試案例選擇的研究中被探討,類似生物資訊領域中計算序列相似度時,利用一些常見的距離(Distance)或相似度(Similarity)計算公式,探討序列間彼此的差異以提供分類或是選擇的依據。以往執行序列的距離及相似度計算公式,在物件導向的程式執行序列中,並無法分辨出多型(polymorphism)這樣的特性。因此本研究利用生物資訊領域中計算序列相似度的演算法Needleman – Wunsch Algorithm ( NWA ),納入執行序列發生多型行為及程式執行順序等特性為考量,提出計算出執行序列間差異度(Dissimilarity)的方法,以解決目前探討執行序列相似度所存在之問題。


Contents

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演算法核心


Tutorial

Dissimilarity主要讀取專案目錄底下 Execution Sequence/ 資料夾,預先放置好trace case。

預設trace case範例以放置於Dissimilarity目錄底下。

本專案不須經由任何設定。啟動Visual Studio開啟本專案直接執行後,即可得到dissimilarity結果。

最後Dissimilarity會在console輸出結果,並一同將結果存於Execution Sequence result.txt。


Improvements and Problems

None

Personal tools