基于圖像相似度檢測代碼克隆
發(fā)布時間:2021-03-07 17:54
代碼克。╟lone code)是指軟件代碼庫中存在的兩個或兩個以上完全相同或彼此之間結構不同但功能相同的源代碼片段。在開發(fā)軟件與維護系統(tǒng)的過程中,開發(fā)人員經常使用“復制-粘貼”或者使用開發(fā)框架的開發(fā)方式,使得軟件系統(tǒng)中頻繁出現代碼克隆的情況。代碼克隆不僅能夠減小重新編寫代碼所產生的潛在風險,還可以縮短軟件開發(fā)所需的時間,具有一定的積極影響。但是有研究表明,大量的代碼克隆會對軟件系統(tǒng)產生消極的影響,例如重復使用包含未知bugs的代碼片段,可能會造成軟件缺陷傳播的現象,從而使系統(tǒng)的穩(wěn)定性降低。此外,若沒有對系統(tǒng)中存在的代碼克隆進行良好的管理,代碼庫會不斷擴大,從而造成代碼庫冗余,增加了維護成本。因此,檢測、識別并呈現軟件系統(tǒng)中所存在的代碼克隆是代碼克隆領域中的一個重要研究內容。研究者們?yōu)榱讼a克隆,降低其所帶來的負面效應,主要從文本、Token、樹、度量值以及圖五種表征方式展開研究,然而長期以來代碼克隆檢測效果并未取得新的進展。為此,本研究從圖像處理角度提出了一種新型的代碼克隆檢測方法(Clone Code Detection Based on Image Similarity,CC...
【文章來源】:內蒙古師范大學內蒙古自治區(qū)
【文章頁數】:63 頁
【學位級別】:碩士
【部分圖文】:
克隆檢測結果覆蓋圖
克隆稀疏圖
圖 2-5 克隆稀疏圖 (3)線狀圖 線狀圖僅能反映一個克隆片段的信息,橫縱坐標分別代碼代碼克隆所在行數與該片段所在文件中的位置;條狀圖可以呈現克隆群在文件中的分布情況,每一列表示一個文件,每一個克隆群用一種顏色表示。Zhang 等人提出的 Clone Visualizer[54]就采用了線狀圖與條狀圖對代碼克隆進行呈現。然而這兩種方式只適用于克隆數據較少的展示。
【參考文獻】:
期刊論文
[1]代碼克隆檢測研究進展[J]. 陳秋遠,李善平,鄢萌,夏鑫. 軟件學報. 2019(04)
[2]基于詞向量的Jaccard相似度算法[J]. 田星,鄭瑾,張祖平. 計算機科學. 2018(07)
[3]快速特征提取與感知哈希結合的圖像配準算法[J]. 宋博,姜萬里,孫濤,熊正強,芮華建. 計算機工程與應用. 2018(07)
[4]基于改進的Jaccard系數文檔相似度計算方法[J]. 俞婷婷,徐彭娜,江育娥,林劼. 計算機系統(tǒng)應用. 2017(12)
[5]面向管理的克隆代碼研究綜述[J]. 蘇小紅,張凡龍. 計算機學報. 2018(03)
[6]基于Token編輯距離檢測克隆代碼[J]. 張久杰,王春暉,張麗萍,侯敏,劉東升. 計算機應用. 2015(12)
[7]基于后綴數組的克隆檢測[J]. 史慶慶,張麗萍,尹麗麗,劉東升. 計算機工程. 2013(09)
博士論文
[1]代碼克隆擴展分析及管理技術研究[D]. 張剛.復旦大學 2013
本文編號:3069552
【文章來源】:內蒙古師范大學內蒙古自治區(qū)
【文章頁數】:63 頁
【學位級別】:碩士
【部分圖文】:
克隆檢測結果覆蓋圖
克隆稀疏圖
圖 2-5 克隆稀疏圖 (3)線狀圖 線狀圖僅能反映一個克隆片段的信息,橫縱坐標分別代碼代碼克隆所在行數與該片段所在文件中的位置;條狀圖可以呈現克隆群在文件中的分布情況,每一列表示一個文件,每一個克隆群用一種顏色表示。Zhang 等人提出的 Clone Visualizer[54]就采用了線狀圖與條狀圖對代碼克隆進行呈現。然而這兩種方式只適用于克隆數據較少的展示。
【參考文獻】:
期刊論文
[1]代碼克隆檢測研究進展[J]. 陳秋遠,李善平,鄢萌,夏鑫. 軟件學報. 2019(04)
[2]基于詞向量的Jaccard相似度算法[J]. 田星,鄭瑾,張祖平. 計算機科學. 2018(07)
[3]快速特征提取與感知哈希結合的圖像配準算法[J]. 宋博,姜萬里,孫濤,熊正強,芮華建. 計算機工程與應用. 2018(07)
[4]基于改進的Jaccard系數文檔相似度計算方法[J]. 俞婷婷,徐彭娜,江育娥,林劼. 計算機系統(tǒng)應用. 2017(12)
[5]面向管理的克隆代碼研究綜述[J]. 蘇小紅,張凡龍. 計算機學報. 2018(03)
[6]基于Token編輯距離檢測克隆代碼[J]. 張久杰,王春暉,張麗萍,侯敏,劉東升. 計算機應用. 2015(12)
[7]基于后綴數組的克隆檢測[J]. 史慶慶,張麗萍,尹麗麗,劉東升. 計算機工程. 2013(09)
博士論文
[1]代碼克隆擴展分析及管理技術研究[D]. 張剛.復旦大學 2013
本文編號:3069552
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/3069552.html