天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁(yè) > 科技論文 > 軟件論文 >

基于集成學(xué)習(xí)技術(shù)的代碼克隆檢測(cè)方法研究

發(fā)布時(shí)間:2021-11-25 05:03
  代碼克隆指的是相似代碼片段在軟件系統(tǒng)多處出現(xiàn)。它通常因開發(fā)者的復(fù)制習(xí)慣或設(shè)計(jì)理念產(chǎn)生,往往導(dǎo)致軟件系統(tǒng)難以維護(hù)。如何自動(dòng)化、快速而有效地定位這些相似代碼以便更好地重構(gòu)和維護(hù)軟件是一項(xiàng)研究熱點(diǎn)。傳統(tǒng)的代碼克隆檢測(cè)方法大多基于靜態(tài)文本分析技術(shù),很難在語(yǔ)義相近的代碼克隆檢測(cè)上有好的表現(xiàn)。而實(shí)際上中大型軟件系統(tǒng)中占大比例的正是這些語(yǔ)義克隆。近兩年有幾種結(jié)合深度神經(jīng)網(wǎng)絡(luò)模型的算法在代碼語(yǔ)義克隆檢測(cè)上取得了不錯(cuò)的效果,但是深度神經(jīng)網(wǎng)絡(luò)模型參數(shù)太復(fù)雜使得訓(xùn)練開銷特別大。本文提出了基于集成學(xué)習(xí)的有監(jiān)督分類模型,利用多個(gè)弱分類器捕捉可能的相似模式。同時(shí)配合有效的特征工程技巧,進(jìn)一步挖掘代碼的語(yǔ)法和潛藏的語(yǔ)義信息,實(shí)現(xiàn)高準(zhǔn)確度和高效率的檢測(cè)效果。本文主要工作和創(chuàng)新點(diǎn)有:(1)使用弱分類器和集成學(xué)習(xí)方法來(lái)解決代碼克隆檢測(cè)問(wèn)題,實(shí)現(xiàn)了很好的重復(fù)代碼檢測(cè)效果,效率優(yōu)于現(xiàn)有深度學(xué)習(xí)方法。(2)將詞嵌入模型用于特征工程方法,將源代碼視作有上下文邏輯的文檔,利用詞嵌入模型抽取代碼段的向量表示形式。對(duì)源代碼結(jié)構(gòu)沒(méi)有過(guò)多的中間形式轉(zhuǎn)換,保留了代碼的完整信息。本文在BigCloneBench數(shù)據(jù)集上設(shè)計(jì)了一系列實(shí)驗(yàn),用于驗(yàn)... 

【文章來(lái)源】:浙江大學(xué)浙江省 211工程院校 985工程院校 教育部直屬院校

【文章頁(yè)數(shù)】:82 頁(yè)

【學(xué)位級(jí)別】:碩士

【部分圖文】:

基于集成學(xué)習(xí)技術(shù)的代碼克隆檢測(cè)方法研究


圖1.3不同類型代碼克隆[3]??

代碼,參考代碼,中間的,序列


is?condensed?to??if(code&pcObjType)?{??圖2.1源代碼的預(yù)處理[|<)]??轉(zhuǎn)換后的代碼每行都與其他行分別比較,比較時(shí)代碼的相似度通過(guò)文本匹配??算法來(lái)得出。可選用的經(jīng)典文本匹配算法包括布魯特包里搜索算法、萊溫斯坦距??離算法、Boyer-Moore字符串搜索算法、Boyer-Moore字符串搜索算法和Rabin-??Karp算法等。該技術(shù)還利用分塊思想在算法原本0(iV2:)級(jí)別的復(fù)雜度上做了優(yōu)化。??即先將預(yù)處理的代碼計(jì)算一個(gè)hash碼,然后按hash碼的值將代碼分到不同的桶??(bucket)中,因?yàn)槲谋疽恢碌拇a其hash碼值相同,只需要在桶內(nèi)進(jìn)行兩兩匹??配就能檢測(cè)出所有文本一致的代碼克隆。??2005?年?S?Lee?等人提出?SSD?(Similar?Data?Detection)算法[11]。它是一項(xiàng)能??檢測(cè)不同相似程度代碼克隆的方法。它的核心思想是給定一個(gè)參考代碼的文本序??列和一個(gè)間隔閾值N

后綴樹,代碼段,匹配算法,詞法分析


is?condensed?to??if(code&pcObjType)?{??圖2.1源代碼的預(yù)處理[|<)]??轉(zhuǎn)換后的代碼每行都與其他行分別比較,比較時(shí)代碼的相似度通過(guò)文本匹配??算法來(lái)得出?蛇x用的經(jīng)典文本匹配算法包括布魯特包里搜索算法、萊溫斯坦距??離算法、Boyer-Moore字符串搜索算法、Boyer-Moore字符串搜索算法和Rabin-??Karp算法等。該技術(shù)還利用分塊思想在算法原本0(iV2:)級(jí)別的復(fù)雜度上做了優(yōu)化。??即先將預(yù)處理的代碼計(jì)算一個(gè)hash碼,然后按hash碼的值將代碼分到不同的桶??(bucket)中,因?yàn)槲谋疽恢碌拇a其hash碼值相同,只需要在桶內(nèi)進(jìn)行兩兩匹??配就能檢測(cè)出所有文本一致的代碼克隆。??2005?年?S?Lee?等人提出?SSD?(Similar?Data?Detection)算法[11]。它是一項(xiàng)能??檢測(cè)不同相似程度代碼克隆的方法。它的核心思想是給定一個(gè)參考代碼的文本序??列和一個(gè)間隔閾值N


本文編號(hào):3517457

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3517457.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶1f9d6***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com