[發(fā)明專利]基于代碼映射和詞法分析的大規(guī)模程序相似性快速檢測(cè)與證據(jù)生成方法有效
| 申請(qǐng)?zhí)枺?/td> | 201811237212.6 | 申請(qǐng)日: | 2018-10-23 |
| 公開(公告)號(hào): | CN109542766B | 公開(公告)日: | 2020-08-18 |
| 發(fā)明(設(shè)計(jì))人: | 劉烴;賈昂;徐茜;范銘;魏聞?dòng)?/a>;樓雋真 | 申請(qǐng)(專利權(quán))人: | 西安交通大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 西安通大專利代理有限責(zé)任公司 61200 | 代理人: | 田洲 |
| 地址: | 710049 陜*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 代碼 映射 詞法 分析 大規(guī)模 程序 相似性 快速 檢測(cè) 證據(jù) 生成 方法 | ||
本發(fā)明公開一種基于代碼映射和詞法分析的大規(guī)模程序相似性快速檢測(cè)與證據(jù)生成方法,采用兩層相似性檢測(cè)方法對(duì)大規(guī)模的軟件樣本進(jìn)行抄襲檢測(cè)與證據(jù)生成:首先使用代碼映射方法對(duì)大規(guī)模程序進(jìn)行粗粒度的相似性分析,快速搜索疑似相似的程序;然后采用詞法分析對(duì)于可疑的相似程序進(jìn)行細(xì)粒度分析,判定程序相似性和生成相似代碼證據(jù)。通過以上方法,可以快速準(zhǔn)確地在大規(guī)模樣本找到抄襲代碼,并提供相應(yīng)的證據(jù)以作支撐。
技術(shù)領(lǐng)域
本發(fā)明涉及源代碼程序分析及軟件抄襲檢測(cè)技術(shù)領(lǐng)域,特別涉及一種多層的源代碼程序相似度檢測(cè)方法。
背景技術(shù)
隨著計(jì)算機(jī)軟件產(chǎn)業(yè)的迅速發(fā)展,軟件的安全問題得到了越來越多的研究人員、教育人員及軟件企業(yè)的重視。而計(jì)算機(jī)軟件的開源,給軟件的抄襲帶來了更便利的條件。近幾年來,各類軟件侵權(quán)案件時(shí)有發(fā)生,Google、Apple、eBay等都曾卷入到相關(guān)案件中。
為了對(duì)抗軟件抄襲案件,保護(hù)軟件知識(shí)產(chǎn)權(quán),國內(nèi)外的研究人員提出了大量的軟件抄襲檢測(cè)技術(shù)。以應(yīng)用場(chǎng)景和技術(shù)手段作為基準(zhǔn),可將現(xiàn)有的軟件抄襲檢測(cè)技術(shù)歸為三類:源碼抄襲檢測(cè)技術(shù),基于軟件水印的抄襲檢測(cè)技術(shù),以及基于軟件胎記的抄襲檢測(cè)技術(shù)。目前發(fā)展最為成熟、使用最為廣泛的是源碼檢測(cè)技術(shù)。
但是,目前的源代碼抄襲檢測(cè)技術(shù)存在一系列的局限性:
1)目前大部分源碼檢測(cè)技術(shù)都面向小規(guī)模的抄襲檢測(cè),無法滿足大規(guī)模抄襲檢測(cè)場(chǎng)景下的快速檢測(cè)需要;
2)混淆技術(shù)的發(fā)展增加軟件抄襲檢測(cè)的難度,會(huì)使得一部分的抄襲檢測(cè)技術(shù)失效;
3)現(xiàn)有的很多抄襲檢測(cè)技術(shù)都只是提供了一個(gè)簡(jiǎn)單的結(jié)果,并沒有提供具體有力的抄襲證據(jù);
4)現(xiàn)有的抄襲檢測(cè)技術(shù)很難做到檢測(cè)精度和時(shí)間開銷的同步優(yōu)化,很多抄襲檢測(cè)方法不能投入應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的內(nèi)容在于提出一種基于代碼映射和詞法分析的大規(guī)模程序相似性快速檢測(cè)與證據(jù)生成方法,以解決上述技術(shù)問題。本方法采用兩層相似性檢測(cè)方法對(duì)大規(guī)模的軟件樣本進(jìn)行抄襲檢測(cè)與證據(jù)生成:首先使用代碼映射方法對(duì)大規(guī)模程序進(jìn)行粗粒度的相似性分析,快速搜索疑似相似的程序;然后采用詞法分析對(duì)于可疑的相似程序進(jìn)行細(xì)粒度分析,判定程序相似性和生成相似代碼證據(jù)。通過以上方法,可以快速準(zhǔn)確地在大規(guī)模樣本找到抄襲代碼,并提供相應(yīng)的證據(jù)以作支撐。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
基于代碼映射和詞法分析的大規(guī)模程序相似性快速檢測(cè)與證據(jù)生成方法,包括如下步驟:
1)、基于代碼映射的疑似相似程序搜索:
步驟S101:通過分析待檢測(cè)樣本集A和源代碼樣本集B中樣本程序的代碼,獲取每一個(gè)樣本程序的第三方庫調(diào)用信息和詞頻信息;基于代碼映射思想,將樣本程序的第三方庫調(diào)用信息和詞頻信息轉(zhuǎn)化為一個(gè)向量;對(duì)待檢測(cè)樣本集A,生成樣本程序的向量集A*;對(duì)源代碼樣本集B,生成所有樣本程序的向量集C;
步驟S102:將向量集C中的程序的向量表示作為輸入,程序的源代碼相似性作為標(biāo)簽,采用機(jī)器學(xué)習(xí)方法訓(xùn)練相似計(jì)算網(wǎng)絡(luò),用于根據(jù)程序的向量表示判定程序代碼相似性;
步驟S103:利用步驟S102訓(xùn)練得到的相似計(jì)算網(wǎng)絡(luò),對(duì)向量集C和待檢測(cè)樣本集A中的每一個(gè)樣本的向量表示進(jìn)行相似度計(jì)算和相似性判定,得到向量集C和樣本集A的向量集的相似關(guān)系;
步驟S104:對(duì)于待檢測(cè)樣本集A中的每一個(gè)程序,如果在源代碼樣本集B中不存在與其有相似關(guān)系的樣本,將歸類到無顯著相似性的程序樣本集A1中;如果存在,將該樣本與相似樣本歸類為可疑樣本集A′,并保留其抄襲關(guān)系;
2)、基于詞法分析的程序相似判定與證據(jù)生成:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安交通大學(xué),未經(jīng)西安交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811237212.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:數(shù)據(jù)庫腳本驗(yàn)證方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 下一篇:基于區(qū)塊鏈的自動(dòng)化測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 一種基于詞網(wǎng)語言模型的連續(xù)語音識(shí)別系統(tǒng)
- 基于人工智能分類語音輸入文本的方法和裝置
- 一種廣告素材數(shù)據(jù)生成方法、裝置及系統(tǒng)
- 網(wǎng)管系統(tǒng)北向監(jiān)控訂購?fù)ㄖ^濾方法
- 詞法分析模型的訓(xùn)練方法、裝置、電子設(shè)備、存儲(chǔ)介質(zhì)
- 一種驗(yàn)證方法、裝置和存儲(chǔ)介質(zhì)
- 解碼方法、語音識(shí)別設(shè)備和系統(tǒng)
- 一種面向神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯的英文詞法分析方法及系統(tǒng)
- 用于確定輸出詞法單元的方法和設(shè)備
- 基于Bi-LSTM-CRF的三位一體字標(biāo)注漢語詞法分析方法





