摘要:代碼克隆檢測在代碼抄襲檢測、代碼審查、軟件更迭和錯誤檢測等方面有重要作用。為提高代碼克隆檢測的準確率,結合TF-IDF及馬爾科夫模型提出了一種改進的Simhash算法Ad-Sim。該算法首先對代碼進行歸一化預處理;其次在Simhash計算指紋簽名的過程中使用TF-IDF計算各關鍵詞權重,并利用馬爾科夫模型優化關鍵詞權重;最后比較待檢測代碼指紋簽名的漢明距離相似度,從而判斷待檢測代碼是否為克隆代碼。實驗結果表明:Ad-Sim算法在代碼克隆檢測上的準確率及召回率相比Simhash有所提升,尤其在少量代碼的檢測準確率上提升更明顯。
注:因版權方要求,不能公開全文,如需全文,請咨詢雜志社