[發(fā)明專(zhuān)利]一種代碼相似度檢測(cè)的方法、裝置及存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202111114518.4 | 申請(qǐng)日: | 2021-09-23 |
| 公開(kāi)(公告)號(hào): | CN115858328A | 公開(kāi)(公告)日: | 2023-03-28 |
| 發(fā)明(設(shè)計(jì))人: | 閔婕 | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)電信股份有限公司 |
| 主分類(lèi)號(hào): | G06F11/36 | 分類(lèi)號(hào): | G06F11/36;G06F40/216;G06F40/194 |
| 代理公司: | 中國(guó)貿(mào)促會(huì)專(zhuān)利商標(biāo)事務(wù)所有限公司 11038 | 代理人: | 肖靖 |
| 地址: | 100033 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 代碼 相似 檢測(cè) 方法 裝置 存儲(chǔ) 介質(zhì) | ||
1.一種代碼相似度檢測(cè)方法,包括:
針對(duì)待檢測(cè)代碼和第一比較代碼分別進(jìn)行結(jié)構(gòu)分析,獲得待檢測(cè)代碼結(jié)構(gòu)類(lèi)圖和第一比較代碼結(jié)構(gòu)類(lèi)圖;
計(jì)算待檢測(cè)代碼結(jié)構(gòu)類(lèi)圖和第一比較代碼結(jié)構(gòu)類(lèi)圖的相似度;
在所述相似度小于等于第一閾值的情況下,判斷為待檢測(cè)代碼和第一比較代碼的代碼結(jié)構(gòu)相似,并且計(jì)算待檢測(cè)代碼的詞條與第二比較代碼間的詞條間的分布比重,并按照從大到小的順序排列分布比重來(lái)獲得第一特征向量,所述第二比較代碼是與待檢測(cè)代碼同類(lèi)型的代碼;
計(jì)算待檢測(cè)代碼詞條的出現(xiàn)頻率權(quán)重,并按照從大到小的順序排列出現(xiàn)頻率權(quán)重來(lái)獲得第二特征向量;
對(duì)第一特征向量與第二特征向量取交集來(lái)獲得最終特征向量;
根據(jù)最終特征向量和第一比較代碼的詞條向量,計(jì)算余弦相似度,比較余弦相似度與第二閾值的大小,如果余弦相似度大于第二閾值,則判定為待檢測(cè)代碼為抄襲;如果余弦相似度小于等于第二閾值,則判斷為待檢測(cè)代碼沒(méi)有抄襲。
2.根據(jù)權(quán)利要求1所述的方法,其中,
利用SSIM算法來(lái)計(jì)算相似度,即
其中,
其中,P1表示待檢測(cè)代碼結(jié)構(gòu)類(lèi)圖,P2表示第一比較代碼結(jié)構(gòu)類(lèi)圖,P1i、P2i分別為類(lèi)圖P1、P2的第i個(gè)像素值,N為像素值的總數(shù),μ表示類(lèi)圖的像素值的平均值,σ2表示類(lèi)圖的像素值的方差。
3.根據(jù)權(quán)利要求1所述的方法,其中,
在相似度大于第一閾值的情況下,判斷為代碼結(jié)構(gòu)不相似。
4.根據(jù)權(quán)利要求1所述的方法,其中,
利用卡方檢驗(yàn)計(jì)算代碼詞條在同類(lèi)代碼間的分布比重,
其中,n表示切分后的代碼詞條,W表示切分后的所有代碼詞條的數(shù)量,Ei表示各個(gè)代碼詞條在類(lèi)間分布的理論值。
5.根據(jù)權(quán)利要求1所述的方法,其中,
利用以下公式來(lái)計(jì)算詞條出現(xiàn)頻率權(quán)重,
其中,i表示詞條的編號(hào),例如,將在某文件中切分后的代碼詞條分別標(biāo)記為n1、n2、n3.......,i為自然數(shù);j表示某代碼詞條所屬的代碼文件的編號(hào),例如,n1,2表示代碼文件2中的代碼詞條n1,n2,3表示代碼文件3中的代碼詞條n2,j為自然數(shù);Wi,j表示代碼詞條ni在文件j中出現(xiàn)的次數(shù);Wj表示在文件j中所有代碼詞條的數(shù)目;|{j:ni∈dj}|表示待檢測(cè)代碼的詞條ni包含于第二比較代碼中文件編號(hào)為j的詞條集合dj的文件數(shù)目,D表示第二比較代碼的文件的總數(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其中,
利用下述公式來(lái)計(jì)算余弦相似度,
其中,xi、yi分別表示最終特征向量和第一比較代碼的詞條向量。
7.根據(jù)權(quán)利要求1所述的方法,其中,
使用rational rose對(duì)代碼結(jié)構(gòu)進(jìn)行分析并生成類(lèi)圖。
8.一種代碼相似度檢測(cè)裝置,包括:
存儲(chǔ)器,其上存儲(chǔ)有指令;以及
處理器,被配置為執(zhí)行存儲(chǔ)在所述存儲(chǔ)器上的指令,以執(zhí)行根據(jù)權(quán)利要求1至7中的任一項(xiàng)所述的方法。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令在由一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器執(zhí)行根據(jù)權(quán)利要求1至7中的任意一項(xiàng)所述的方法。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)電信股份有限公司,未經(jīng)中國(guó)電信股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111114518.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:報(bào)警設(shè)備控制方法、裝置、電子設(shè)備和計(jì)算機(jī)可讀介質(zhì)
- 下一篇:光網(wǎng)絡(luò)單元模組化的適配方法以及光網(wǎng)絡(luò)單元
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
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),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(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)
- 相似圖像提取裝置、相似圖像提取方法以及相似圖像提取程序
- 一種鋼結(jié)構(gòu)火災(zāi)反應(yīng)分析方法
- 相似度計(jì)算裝置、相似度計(jì)算方法以及相似度計(jì)算程序
- 一種蛋白質(zhì)相似度及相似蛋白質(zhì)的確定方法和系統(tǒng)
- 一種獲取相似語(yǔ)句的方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備
- 一種圖像搜索方法、裝置和存儲(chǔ)介質(zhì)
- 基于相似壽命模型和相似壽命的復(fù)雜產(chǎn)品可靠性評(píng)定方法
- 獲取機(jī)構(gòu)技術(shù)相似性的方法及裝置
- 口罩(相似)
- 臺(tái)燈(相似)
- 檢測(cè)裝置、檢測(cè)方法和檢測(cè)組件
- 檢測(cè)方法、檢測(cè)裝置和檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法以及記錄介質(zhì)
- 檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)裝置、檢測(cè)設(shè)備及檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)
- 檢測(cè)組件、檢測(cè)裝置以及檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法及檢測(cè)程序
- 檢測(cè)電路、檢測(cè)裝置及檢測(cè)系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





