恭喜西安電子科技大學宋建鋒獲國家專利權
買專利賣專利找龍圖騰,真高效! 查專利查商標用IPTOP,全免費!專利年費監控用IP管家,真方便!
龍圖騰網恭喜西安電子科技大學申請的專利基于頻繁序列挖掘的代碼克隆檢測方法獲國家發明授權專利權,本發明授權專利權由國家知識產權局授予,授權公告號為:CN115203053B 。
龍圖騰網通過國家知識產權局官網在2025-05-23發布的發明授權授權公告中獲悉:該發明授權的專利申請號/專利號為:202210911699.1,技術領域涉及:G06F11/3604;該發明授權基于頻繁序列挖掘的代碼克隆檢測方法是由宋建鋒;李領杰;謝琨;徐浩;苗啟廣;楊瑾設計研發完成,并于2022-07-28向國家知識產權局提交的專利申請。
本基于頻繁序列挖掘的代碼克隆檢測方法在說明書摘要公布了:本發明公開一種基于頻繁序列挖掘的代碼克隆檢測方法,主要解決現有代碼克隆檢測方法無法識別插入刪除重復代碼和檢測性能低問題。其實現方案是:通過生成詞法工具和語法解析工具對源代碼進行解析獲取抽象語法樹;解析抽象語法樹獲取源代碼函數或方法中的Token集并對其進行標準化處理;利用處理后的Token組成行序列建立序列數據庫;使用閉合模式挖掘算法ClaSp對序列數據庫進行挖掘,構建候選克隆對并進行去重和通過設置閾值對其過濾;對剩下的候選克隆對中的克隆行進行分組和匹配,獲取最終克隆對,完成代碼克隆檢測。本發明具有良好的檢測精度,提高了檢測性能,可應用于教學中學生代碼的抄襲檢測和常規軟件中復制粘貼代碼的檢測。
本發明授權基于頻繁序列挖掘的代碼克隆檢測方法在權利要求書中公布了:1.一種基于頻繁序列挖掘的代碼克隆檢測方法,其特征在于,包括如下步驟:1使用ANTLR4工具的元語言定義不同編程語言的后綴名為g4的語法文件Grammer,根據Grammer分別生成詞法工具和語法解析工具;2使用上述工具對源代碼文件進行解析,生成抽象語法樹;3解析抽象語法樹,以過濾掉源代碼中的頭文件、空行及注釋,獲取源代碼中每個函數包含的Token集的起始和終止位置集合,并對過長的函數分片;4遍歷起始和終止位置集合獲取每個函數包含的所有Token,將函數中的Token進行標準化處理并將在源代碼同一行的Token合并成序列;5對每個函數中每個序列進行Hash化,并為每個序列建立索引保存到函數序列集,為每個函數序列集分配唯一標識ID,利用源代碼中的多個函數序列集構成序列數據庫;6對序列數據庫使用閉合模式挖掘算法ClaSp查找支持度至少為2的頻繁子序列,同時將ClaSp中生成的序列ID替換為上述序列數據庫中的函數序列集ID,得到頻繁子序列和函數序列集ID組成的頻繁結果集;7對頻繁結果集的每一個頻繁子序列通過函數序列集ID兩兩構建候選克隆對,并將其保存到克隆對集合中;8通過對克隆對集合中的每個候選克隆對的兩個函數序列集ID構建唯一關鍵字來擴展去除重復出現的候選克隆對,再將剩下具有唯一性的候選克隆對中重復出現的克隆行去除掉;9設置克隆大小size、克隆大小差值diff、間隙閾值gap及克隆大小最小值min參數;10對克隆對集中任意一個候選克隆集大小小于size的候選克隆對和候選克隆對中兩個候選克隆集大小差值大于diff的結果對進行過濾;11對過濾后的克隆對集中的候選克隆對中的克隆行進行從小到大排序,并通過設置的gap和min對克隆行進行分組,即記錄兩個連續克隆行差值小于gap的行直到大于gap,將記錄的克隆行生成行組,并過濾掉其小于min的行組;12遍歷克隆對集中每個候選克隆對,對候選克隆對中的行組進行匹配,將匹配到的行組組成最終克隆對,得到最終克隆對集,完成對代碼的克隆檢測。
如需購買、轉讓、實施、許可或投資類似專利技術,可聯系本專利的申請人或專利權人西安電子科技大學,其通訊地址為:710071 陜西省西安市太白南路2號;或者聯系龍圖騰網官方客服,聯系龍圖騰網可撥打電話0551-65771310或微信搜索“龍圖騰網”。
1、本報告根據公開、合法渠道獲得相關數據和信息,力求客觀、公正,但并不保證數據的最終完整性和準確性。
2、報告中的分析和結論僅反映本公司于發布本報告當日的職業理解,僅供參考使用,不能作為本公司承擔任何法律責任的依據或者憑證。