《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于改進WL圖核的代碼克隆檢測方法
基于改進WL圖核的代碼克隆檢測方法
網絡安全與數據治理 3期
班必奐1,2,徐 云2,3
(1.中國科學技術大學 大數據學院,安徽 合肥230026; 2.安徽省高性能計算重點實驗室,安徽 合肥230026; 3.中國科學技術大學 計算機科學與技術學院,安徽 合肥230026)
摘要: 基于程序依賴圖(Program Dependency Graph,PDG)的代碼克隆檢測方法是檢測代碼克隆的重要方法之一,近年來提出的基于Weisfeiler-Lehman(WL)圖核迭代的近似圖匹配方法在克隆檢測中取得了較好的效果,但PDG中少量頂點的差異會隨著圖核迭代傳播到越來越多的頂點,從而導致算法召回率的下降。為此,針對WL圖核在克隆檢測應用中存在的問題,提出了一種基于改進WL圖核的代碼克隆檢測方法,將WL圖核迭代過程中采用的普通哈希算法替換為局部敏感哈希,同時引入向量的相似性度量方法,進一步提升了對PDG近似子結構的識別能力。實驗結果表明,改進后的方法不僅可以檢測出更多的差異克隆對,同時還保持了良好的精度和時間性能。
中圖分類號: TP311.5
文獻標識碼: A
DOI: 10.20044/j.csdg.2097-1788.2022.03.010
引用格式: 班必奐,徐云. 基于改進WL圖核的代碼克隆檢測方法[J].網絡安全與數據治理,2022,41(3):60-66.
An improved WL graph kernel-based code clone detection method
Ban Bihuan1,2,Xu Yun2,3
(1.School of Data Science,University of Science and Technology of China,Hefei 230026,China; 2.Key Laboratory of High Performance Computing of Anhui Province,Hefei 230026,China; 3.School of Computer Science and Technology,University of Science and Technology of China,Hefei 230026,China)
Abstract: Code clone detection based on Program Dependency Graph(PDG) is one of the important methods in code clone detection domain. In recent years, a code clone detector that based on Weisfeiler-Lehman(WL) graph kernel has achieved success in detecting code clones. However, several different vertices in the PDG will ″spread″ to the whole PDG with iterations and finally results in a decline in recall rate. Therefore, an improved WL kernel-based clone detector is proposed to address the problem of the WL kernel when applied in clone detections. The ordinary hash algorithm used in the iterations of WL kernel is replaced with the local sensitive hash algorithm, and the vector similarity measure approach is employed, which enhances the ability to identify the similar PDG sub-structures. The experimental results show that compared to the original WL graph kernel-based detector, the improved method can not only detect more clones but also keep good accuracy and a low computing time.
Key words : code clone detection;program dependency graph;Weisfeiler-Lehman kernel

0 引言

在實際的軟件系統開發過程中,開發人員出于提高開發效率或者降低軟件錯誤風險的原因,通常會將其他模塊中功能相同或者相近的代碼片段通過復制—修改(或不修改)—粘貼的模式引入到當前正在開發的模塊中,這些粘貼而來的功能相同或相似的代碼片段在學術界通常被稱為克隆代碼[1]。大量的研究表明,過多的克隆代碼會給軟件系統帶來維護成本提高[2]和Bug蔓延[3]等問題。例如,假設某一段代碼中存在Bug并且這段代碼被復制粘貼在不同的位置,那么這個Bug將會隨著這些克隆代碼在整個軟件中傳播,進而增加了維護的難度。因此,檢測出軟件系統中的克隆代碼并對其進行統一管理是非常有必要的。

隨著代碼克隆檢測技術的不斷發展,高級別代碼克隆(即Type-3和Type-4克隆)的檢測成為當前的研究熱點之一。由于高級別克隆代碼往往在復制粘貼之后還進行了一些修改,因此也更有可能存在Bug[4]。另外,修改所導致的差異性也使得這一類型的克隆更加難以被檢測。

得益于程序依賴圖(Program Dependency Graph,PDG)中所包含的大量語法結構信息和語義信息,基于PDG的克隆檢測方法在檢測高級別克隆上更具優勢,能夠檢測出更多的結構相似但文本差異較大的高級別克隆代碼。但在已有的方法中,采用精確圖匹配算法的CCSharp[5]、GPLAG[6]等克隆檢測方法存在時間性能差和召回率低的缺點,而采用Weisfeiler-Lehman(WL)圖核進行近似圖匹配計算的CCGraph[7],受限于節點初始標簽的單一性和WL圖核迭代過程中對近似子結構識別能力的缺失,召回率也相對較低。為此,本文針對WL圖核算法在PDG克隆檢測應用中存在的缺陷,提出了一種改進思路:首先利用語法分析技術將PDG節點所包含的源代碼信息解析為特征向量的形式來作為該節點的初始標簽,使其能夠保留更多的語義信息;然后通過引入局部敏感哈希技術提升PDG中近似子結構的識別能力,進而提升高級別克隆的召回率。





本文詳細內容請下載http://m.jysgc.com/resource/share/2000004907





作者信息:

班必奐1,2,徐  云2,3

(1.中國科學技術大學 大數據學院,安徽 合肥230026;

2.安徽省高性能計算重點實驗室,安徽 合肥230026;

3.中國科學技術大學 計算機科學與技術學院,安徽 合肥230026)


微信圖片_20210517164139.jpg

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线观看一区| 亚洲人成在线观看网站高清| 久久躁日日躁aaaaxxxx| 亚洲小说春色综合另类电影| 亚洲国产乱码最新视频| 欧美一区二区视频在线| 一区二区三区日韩精品视频| 亚洲欧洲精品一区二区| 亚洲电影免费观看高清完整版在线观看 | 亚洲美女在线视频| 亚洲日本激情| 亚洲日本黄色| 日韩亚洲精品电影| 99re在线精品| 一本不卡影院| 亚洲一区二区三区激情| 亚洲欧美高清| 欧美亚洲一区二区三区| 午夜精品在线| 欧美在线视频一区二区三区| 久久国产精品久久久久久| 久久精品日韩一区二区三区| 久久久午夜视频| 免费成人av在线看| 欧美激情第六页| 欧美日韩一区二区视频在线| 欧美性淫爽ww久久久久无| 国产精品激情偷乱一区二区∴| 国产精品女人久久久久久| 国产精品最新自拍| 影音先锋成人资源站| 亚洲国产精品va在线观看黑人| 在线看片一区| 亚洲精品字幕| 亚洲一区日韩| 久久不见久久见免费视频1| 亚洲国产黄色片| 亚洲美女啪啪| 亚洲欧美精品suv| 欧美在线资源| 美日韩精品视频免费看| 欧美美女bbbb| 国产精品美腿一区在线看| 国产原创一区二区| 亚洲福利小视频| 99re8这里有精品热视频免费| 亚洲天堂av图片| 欧美一区二区视频观看视频| 亚洲精品视频免费| 亚洲一区二区三区高清 | 国内揄拍国内精品少妇国语| 亚洲第一精品夜夜躁人人躁| 日韩图片一区| 午夜精品在线视频| 亚洲看片免费| 翔田千里一区二区| 免费成人高清在线视频| 欧美日韩国产亚洲一区| 国产酒店精品激情| 亚洲韩国日本中文字幕| 亚洲一区二区精品在线观看| 欧美有码视频| 亚洲午夜视频在线观看| 久久久噜噜噜久久中文字幕色伊伊| 免费日韩一区二区| 国产精品一区二区在线观看网站| 在线电影欧美日韩一区二区私密| 中国女人久久久| 亚洲福利视频二区| 亚洲免费影视第一页| 老司机免费视频久久| 国产精品嫩草久久久久| 亚洲国产精品国自产拍av秋霞 | 亚洲自拍啪啪| 免费在线播放第一区高清av| 国产精品a级| 亚洲第一综合天堂另类专| 亚洲欧美文学| 日韩午夜在线观看视频| 久久精品中文字幕免费mv| 欧美日本国产一区| 伊人婷婷欧美激情| 午夜精品久久| 亚洲视频1区2区| 欧美成人乱码一区二区三区| 国产欧美精品日韩精品| 亚洲毛片av| 亚洲精品久久久一区二区三区| 欧美一级理论性理论a| 欧美激情亚洲自拍| 黄网站免费久久| 亚洲欧美日本日韩| 亚洲线精品一区二区三区八戒| 蜜桃av综合| 国产综合精品| 亚洲欧美99| 亚洲免费一级电影| 欧美日韩免费看| 亚洲茄子视频| 亚洲精品久久久久| 美女图片一区二区| 国产一区二区三区高清| 亚洲欧美国产高清va在线播| 亚洲一区日本| 欧美日韩一区二区在线观看视频 | 国产在线乱码一区二区三区| 在线一区二区三区四区| 夜夜嗨av一区二区三区网站四季av| 久久综合亚州| 激情综合中文娱乐网| 欧美一级淫片aaaaaaa视频| 亚洲伊人第一页| 欧美调教视频| 在线视频欧美日韩| 亚洲一区二区免费看| 欧美日韩人人澡狠狠躁视频| 最新中文字幕一区二区三区| 亚洲黄色一区| 欧美成人精品1314www| 在线电影一区| 最新日韩在线| 欧美成人有码| 亚洲激情第一页| 亚洲精品综合精品自拍| 欧美激情五月| 亚洲精品免费网站| 亚洲视屏一区| 国产精品久久久久久久久借妻 | 伊人婷婷久久| 亚洲国产精彩中文乱码av在线播放| 久久久久欧美| 狠狠久久亚洲欧美专区| 91久久精品日日躁夜夜躁国产| 毛片一区二区| 亚洲精品婷婷| 亚洲图中文字幕| 国产精品乱码一区二三区小蝌蚪 | 亚洲黄色天堂| 日韩一级视频免费观看在线| 欧美精品午夜视频| 亚洲乱码国产乱码精品精天堂| 亚洲视频精品在线| 国产精品久久国产精品99gif | 校园激情久久| 蜜臀91精品一区二区三区| 亚洲欧洲三级电影| 亚洲一区二区三区中文字幕| 国产精品系列在线播放| 欧美一区二区三区在| 欧美成人一二三| 日韩一区二区精品| 性欧美xxxx大乳国产app| 国产网站欧美日韩免费精品在线观看 | 一区二区三区毛片| 国产精自产拍久久久久久| 久久高清福利视频| 欧美激情综合五月色丁香小说| 日韩亚洲欧美一区二区三区| 午夜天堂精品久久久久| 国产婷婷色一区二区三区四区| 亚洲精美视频| 国产精品ⅴa在线观看h| 欧美自拍丝袜亚洲| 欧美国产一区二区| 亚洲一区中文| 免费成人性网站| 一区二区三区欧美在线观看| 久久国产精品99久久久久久老狼| 亚洲国产精品久久| 午夜精品久久久久久久99水蜜桃 | 国产色综合久久| 亚洲精品少妇| 国产农村妇女精品| 亚洲精品国产精品国产自| 国产精品成人观看视频免费| 久久精品九九| 欧美视频你懂的| 亚洲福利视频免费观看| 国产精品大片免费观看| 欧美在线关看| 欧美日韩1区2区3区| 欧美一区2区三区4区公司二百| 欧美电影免费观看网站| 亚洲综合成人在线| 欧美精品久久久久久久久久| 午夜视频久久久久久| 欧美精品一区在线播放| 小处雏高清一区二区三区 | 亚洲人www| 久久精品30| 一区二区三区高清在线| 浪潮色综合久久天堂| 亚洲一区二区伦理| 欧美日本在线视频| 久久精品视频导航| 国产精品免费在线| 一区二区成人精品| 一区免费观看| 久久精品人人做人人爽电影蜜月| aa级大片欧美三级|