[發(fā)明專利]基于軟件復(fù)用特征學(xué)習(xí)的開源代碼溯源檢測方法在審
| 申請?zhí)枺?/td> | 202010091777.9 | 申請日: | 2020-02-13 |
| 公開(公告)號: | CN111241497A | 公開(公告)日: | 2020-06-05 |
| 發(fā)明(設(shè)計(jì))人: | 嚴(yán)亮 | 申請(專利權(quán))人: | 北京高質(zhì)系統(tǒng)科技有限公司 |
| 主分類號: | G06F21/16 | 分類號: | G06F21/16;G06F16/2458 |
| 代理公司: | 北京中索知識(shí)產(chǎn)權(quán)代理有限公司 11640 | 代理人: | 胡大成 |
| 地址: | 101204 北京市平谷區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 軟件 特征 學(xué)習(xí) 源代碼 溯源 檢測 方法 | ||
1.一種基于軟件復(fù)用特征學(xué)習(xí)的開源代碼溯源檢測方法,其特征在于,包括如下步驟:
1)搭建復(fù)用特征關(guān)聯(lián)模型;該模型的搭建方法如下:
1-1)對具有復(fù)用關(guān)系軟件項(xiàng)目中的復(fù)用軟件和被復(fù)用軟件的特征數(shù)據(jù)分別進(jìn)行選取與收集,其中,上述復(fù)用關(guān)系已經(jīng)在開源軟件社區(qū)中明確:
1-2)利用Apriori算法對復(fù)用特征關(guān)聯(lián)規(guī)則進(jìn)行挖掘:從而得到關(guān)聯(lián)規(guī)則表,即復(fù)用特征關(guān)聯(lián)模型;
2)根據(jù)進(jìn)行溯源檢測的軟件特征,從關(guān)聯(lián)規(guī)則表中查詢到對應(yīng)的被復(fù)用開源軟件特征集合及其復(fù)用概率,按照復(fù)用概率從高到低的順序從比對開源軟件庫中搜索出具有這些特征的軟件代碼,逐一與被檢測代碼進(jìn)行溯源比對。
2.根據(jù)權(quán)利要求1所述的基于軟件復(fù)用特征學(xué)習(xí)的開源代碼溯源檢測方法,其特征在于,所述的步驟1-1)中選取與收集的軟件特征數(shù)據(jù)包括編程語言、開源許可證、軟件類型、軟件標(biāo)簽和收藏量。
3.根據(jù)權(quán)利要求1所述的基于軟件復(fù)用特征學(xué)習(xí)的開源代碼溯源檢測方法,其特征在于,所述的步驟1-1)中軟件特征數(shù)據(jù)的選取與收集方法為:
a)根據(jù)需要獲取軟件特征的軟件項(xiàng)目名稱和所有者信息,獲得項(xiàng)目git地址;
b)利用開源社區(qū)提供的數(shù)據(jù)框架和API,訪問開源社區(qū)的接口;
c)使用Java網(wǎng)絡(luò)爬蟲技術(shù),利用開源的Java依賴庫操作開源社區(qū)網(wǎng)站的開源項(xiàng)目托管平臺(tái)的遠(yuǎn)程庫,從而抓取到所需的軟件特征數(shù)據(jù);
d)將采集到的目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫,完成軟件特征數(shù)據(jù)的采集工作。
4.根據(jù)權(quán)利要求1所述的基于軟件復(fù)用特征學(xué)習(xí)的開源代碼溯源檢測方法,其特征在于,利用Apriori算法對復(fù)用特征關(guān)聯(lián)規(guī)則挖掘時(shí)包括如下步驟:
1-21)挖掘特征數(shù)據(jù)中的頻繁項(xiàng)集;
1-22)基于頻繁項(xiàng)集,挖掘關(guān)聯(lián)規(guī)則;
1-23)將獲得的關(guān)聯(lián)規(guī)則形成關(guān)聯(lián)規(guī)則表,并存放于數(shù)據(jù)庫中。
5.根據(jù)權(quán)利要求4所述的基于軟件復(fù)用特征學(xué)習(xí)的開源代碼溯源檢測方法,其特征在于,所述的頻繁項(xiàng)集的挖掘方法為:設(shè)定一個(gè)支持度最小值,計(jì)算所有項(xiàng)集的支持度,刪減掉數(shù)據(jù)庫中支持度小于最小值的項(xiàng)集以及該項(xiàng)集對應(yīng)的所有超項(xiàng)集,剩余的項(xiàng)集即為頻繁項(xiàng)集。
6.根據(jù)權(quán)利要求4或5所述的基于軟件復(fù)用特征學(xué)習(xí)的開源代碼溯源檢測方法,其特征在于,所述的頻繁項(xiàng)集關(guān)聯(lián)規(guī)則挖掘的方法為:
設(shè)定可信度的最小值,對每一個(gè)頻繁項(xiàng)集的關(guān)聯(lián)規(guī)則進(jìn)行篩選,排除掉可信度小于最小值的頻繁項(xiàng)集對應(yīng)的關(guān)聯(lián)規(guī)則及該頻繁項(xiàng)集的子集對應(yīng)的該關(guān)聯(lián)規(guī)則;
計(jì)算出每一個(gè)由復(fù)用軟件特征和非復(fù)用軟件特征組成的頻繁項(xiàng)集的支持度,和與之對應(yīng)的由復(fù)用軟件特征組成的頻繁項(xiàng)集的支持度,二者的比值即為關(guān)聯(lián)規(guī)則的可信度。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京高質(zhì)系統(tǒng)科技有限公司,未經(jīng)北京高質(zhì)系統(tǒng)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010091777.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動(dòng)態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法
- 根據(jù)用戶學(xué)習(xí)效果動(dòng)態(tài)變化下載學(xué)習(xí)數(shù)據(jù)的系統(tǒng)及方法
- 用于智能個(gè)人化學(xué)習(xí)服務(wù)的方法
- 漸進(jìn)式學(xué)習(xí)管理方法及漸進(jìn)式學(xué)習(xí)系統(tǒng)
- 輔助學(xué)習(xí)的方法及裝置
- 基于人工智能的課程推薦方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 基于強(qiáng)化學(xué)習(xí)的自適應(yīng)移動(dòng)學(xué)習(xí)路徑生成方法
- 一種線上視頻學(xué)習(xí)系統(tǒng)
- 一種基于校園大數(shù)據(jù)的自適應(yīng)學(xué)習(xí)方法、裝置及設(shè)備
- 一種學(xué)習(xí)方案推薦方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)
- 游戲?qū)W習(xí)效果評測方法及系統(tǒng)





