日韩在线一区二区三区,日本午夜一区二区三区,国产伦精品一区二区三区四区视频,欧美日韩在线观看视频一区二区三区 ,一区二区视频在线,国产精品18久久久久久首页狼,日本天堂在线观看视频,综合av一区

[發(fā)明專利]Python源代碼文件相似性檢測方法有效

專利信息
申請?zhí)枺?/td> 201510014906.3 申請日: 2015-01-09
公開(公告)號: CN104598231B 公開(公告)日: 2018-07-20
發(fā)明(設(shè)計)人: 董付國;孫玲玲;原達;馮磊 申請(專利權(quán))人: 山東工商學(xué)院
主分類號: G06F8/70 分類號: G06F8/70
代理公司: 暫無信息 代理人: 暫無信息
地址: 264005 山東*** 國省代碼: 山東;37
權(quán)利要求書: 查看更多 說明書: 查看更多
摘要:
搜索關(guān)鍵詞: python 源代碼 文件 相似性 檢測 方法
【權(quán)利要求書】:

1.一種Python源代碼文件相似性檢測方法,其特征在于,包括以下步驟:

S1、獲取用戶輸入的參數(shù)類型;

S2、若判斷出所述用戶輸入的參數(shù)類型為一個Python源文件,則應(yīng)用算法A檢測所述Python源文件內(nèi)代碼之間的相似性;

S3、若判斷出所述用戶輸入的參數(shù)類型為一個包含Python源文件的文件夾,則應(yīng)用算法B檢測所述文件夾中所有Python源文件之間的相似性

S4、若判斷出所述用戶輸入的參數(shù)類型為一個目標(biāo)Python源文件和一個包含Python源文件的目標(biāo)文件夾,則應(yīng)用算法C檢測所述目標(biāo)Python源文件與所述目標(biāo)文件夾中所有Python源文件之間的相似性;

其中,用來檢測同一個Python源文件內(nèi)代碼之間相似性的算法A為:

A1、將用戶輸入的所述Python源文件中的所有行讀入列表;對所有讀入內(nèi)容進行預(yù)處理,刪除讀入內(nèi)容中所有多余的空格、每行兩端的空格以及行尾的換行符;

所述多余的空格即2個相鄰標(biāo)識符或運算符之間最多只保留一個空格,其他空格都是多余的空格;

A2、從0開始依次為列表中每個元素標(biāo)號,令index1=0;進行步驟A3-A9;

A3、如果當(dāng)前行被判斷為注釋行,則跳過從當(dāng)前行開始的所有連續(xù)注釋行;所述當(dāng)前行為標(biāo)號index1所標(biāo)識的行;

A4、如果當(dāng)前行已被判斷為相似行,則跳過該行開始的所有連續(xù)相似行;將當(dāng)前行與該當(dāng)前行之前的代碼行進行比較,如果符合相似性檢測標(biāo)準(zhǔn)則判斷當(dāng)前行為相似行;通過查詢Result字典獲取信息,實現(xiàn)快速判斷;

A5、遍歷列表中index1之后的剩余元素,令index2=index1+1,進行步驟A6-A8;

A6、如果當(dāng)前行被判斷為注釋行,則跳過從當(dāng)前行開始的所有連續(xù)注釋行;此處的當(dāng)前行為標(biāo)號index2所標(biāo)識的行;

A7、如果當(dāng)前行已被判斷為相似行,則跳過該行開始的所有連續(xù)相似行;

A8、對比分別以標(biāo)號index1和標(biāo)號index2開始的若干連續(xù)行的相似性,如果符合相似性檢測標(biāo)準(zhǔn),則將相似性結(jié)果更新到Result字典,并將index2增加符合相似性檢測標(biāo)準(zhǔn)的連續(xù)行的步長;否則將index2增加1行;

當(dāng)index2小于等于列表中最后一個元素編號時,繼續(xù)進行步驟A6-A8;

A9、讀取Result字典,獲取index1行的最大相似跨度,并將index1增加最大相似跨度的步長;若當(dāng)前行無相似行,則將index1增加1;

在步驟A9中重置index1的值后,當(dāng)index1小于等于列表中最后一個元素編號時,繼續(xù)循環(huán)進行步驟A3-A9;

用來檢測同一個文件夾中所有Python源文件之間相似性的算法B為:

B1、將所述用戶輸入的文件夾中所有Python源文件內(nèi)容讀入至列表allFiles,列表allFiles的每個元素是一個列表,每個列表中的第0個元素為文件名,第1個元素是包含該文件的所有代碼行;同時對讀取的所有內(nèi)容進行預(yù)處理,刪除讀取的所有內(nèi)容中的所有多余的空格、每行兩端的空格以及行尾的換行符;

B2、從0開始,依次為列表allFiles中各個列表元素標(biāo)號,令index0=0;進行步驟B3-B13;

B3、從0開始依次為標(biāo)號為index0的列表中的元素標(biāo)號,令index1=0;進行步驟B4-B12;

B4、如果當(dāng)前行已被判斷為相似行,則跳過該行開始的所有連續(xù)相似行;

B5、如果當(dāng)前行被判斷為注釋行,則跳過從當(dāng)前行開始的所有連續(xù)注釋行;

B6、選擇標(biāo)號為index3的列表,其中,index3=index0+1;進行步驟B7-B11;

B7、從0開始依次為標(biāo)號為index3的列表中的元素標(biāo)號,令index2=0;進行步驟B8-B10;

B8、如果當(dāng)前行已被判斷為相似行,則跳過該行開始的所有連續(xù)相似行;

B9、如果當(dāng)前行被判斷為注釋行,則跳過從當(dāng)前行開始的所有連續(xù)注釋行;

B10、對比以index1和index2開始的若干連續(xù)行相似性,如果符合相似性檢測標(biāo)準(zhǔn),則更新Result字典,并將index2增加符合相似性檢測標(biāo)準(zhǔn)的連續(xù)行的步長;否則將index2增加1行;當(dāng)index2小于等于編號為index3的列表最后一個元素編號時,繼續(xù)進行步驟B8-B10;

B11、將index3增加1,當(dāng)index3小于等于allFiles列表中最后一個元素編號時,繼續(xù)進行步驟B7-B11;

B12、讀取Result字典,獲取index1行的最大相似跨度,并將index1增加最大相似跨度的步長;若當(dāng)前行無相似行,則將index1增加1;當(dāng)index1小于等于index0的列表中的最后一個元素編號時,進行步驟B4-B12;

B13、將index0增加1;當(dāng)index0小于等于allFiles列表中最后一個元素編號時,循環(huán)進行步驟B3-B13;

所述目標(biāo)Python源文件與所述目標(biāo)文件夾中所有Python源文件之間相似性的算法C為:

C1、將所述用戶輸入的目標(biāo)文件夾中所有Python源文件內(nèi)容讀入至目標(biāo)列表allFiles,目標(biāo)列表allFiles的每個元素是一個列表,該列表的第0個元素為文件名,第1個元素是包含該文件的所有代碼行;同時將所述用戶輸入的目標(biāo)Python源文件內(nèi)容讀入至目標(biāo)列表currentFile;對所有讀入內(nèi)容進行預(yù)處理,刪除文件中所有多余的空格、每行兩端的空格以及行尾的換行符;

C2、從0開始依次為目標(biāo)列表currentFile中的元素標(biāo)號,令index1=0;進行步驟C3-C9;

C3、如果當(dāng)前行被判斷為注釋行,則跳過從當(dāng)前行開始的所有連續(xù)注釋行;

C4、從0開始,依次為列表allFiles中各個列表標(biāo)號,令index3=0;進行步驟C5-C8;

C5、從0開始依次為標(biāo)號為index3的列表中的元素標(biāo)號,令index2=0;進行步驟C6-C7;

C6、如果當(dāng)前行被判斷為注釋行,則跳過從當(dāng)前行開始的所有連續(xù)注釋行;

C7、對比以index1和index2開始的若干連續(xù)行相似性,如果符合相似性檢測標(biāo)準(zhǔn),則更新Result字典,并將index2增加符合相似性檢測標(biāo)準(zhǔn)的連續(xù)行的步長;否則index2增加1;若index3的列表中的元素還未檢測完,則繼續(xù)進行步驟C6-C7;

C8、將index3增加1,當(dāng)index3小于等于allFiles列表中最后一個元素編號時,循環(huán)進行步驟C5-C8;

C9、讀取Result字典,獲取index1行的最大相似跨度,并將index1增加最大相似跨度的步長;若當(dāng)前行無相似行,則將index1增加1;

在步驟C9中重置index1的值后,當(dāng)index1小于等于currentFile列表中最后一個元素編號時,繼續(xù)循環(huán)進行步驟C3-C9;

其中,所述相似性檢測標(biāo)準(zhǔn)為:要求完全相等,則直接將分別以index1和index2開始的若干連續(xù)代碼行進行比較是否精確相等,若精確相等則認為符合相似性檢測標(biāo)準(zhǔn)標(biāo)準(zhǔn),否則認為不符合;

或者,所述相似性檢測標(biāo)準(zhǔn)為:要求兩段代碼中變量名和運算符具有一定重合度或相似性,則需要首先提取類名、函數(shù)名、變量名等標(biāo)識符以及運算符,并統(tǒng)計各自出現(xiàn)的頻率,將結(jié)果按標(biāo)識符出現(xiàn)頻率從高到低進行排序;如果標(biāo)識符與運算符名稱以及頻率分布達到預(yù)設(shè)標(biāo)準(zhǔn),則認為兩段代碼相似,符合相似性檢測標(biāo)準(zhǔn)標(biāo)準(zhǔn),否則認為不符合;

其中,提取出兩段代碼或兩個源文件中所有標(biāo)識符和運算符以后,分類并按出現(xiàn)頻率從高到低排序,如果兩段代碼中標(biāo)識符與運算符以及頻率分布具有較高相似性,即如果

同時,

則認為兩段代碼具有較高相似性。

下載完整專利技術(shù)內(nèi)容需要扣除積分,VIP會員可以免費下載。

該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于山東工商學(xué)院,未經(jīng)山東工商學(xué)院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服

本文鏈接:http://www.szxzyx.cn/pat/books/201510014906.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。

×

專利文獻下載

說明:

1、專利原文基于中國國家知識產(chǎn)權(quán)局專利說明書;

2、支持發(fā)明專利 、實用新型專利、外觀設(shè)計專利(升級中);

3、專利數(shù)據(jù)每周兩次同步更新,支持Adobe PDF格式;

4、內(nèi)容包括專利技術(shù)的結(jié)構(gòu)示意圖流程工藝圖技術(shù)構(gòu)造圖;

5、已全新升級為極速版,下載速度顯著提升!歡迎使用!

請您登陸后,進行下載,點擊【登陸】 【注冊】

關(guān)于我們 尋求報道 投稿須知 廣告合作 版權(quán)聲明 網(wǎng)站地圖 友情鏈接 企業(yè)標(biāo)識 聯(lián)系我們

鉆瓜專利網(wǎng)在線咨詢

周一至周五 9:00-18:00

咨詢在線客服咨詢在線客服
tel code back_top
主站蜘蛛池模板: 97人人澡人人爽人人模亚洲| 国产乱一乱二乱三| 在线观看国产91| 久久精品—区二区三区| 国产视频精品久久| 99久久国产综合精品麻豆 | 亚洲网站久久| 中文乱码在线视频| 性old老妇做受| 肥大bbwbbwbbw高潮| 四虎国产精品永久在线| 国产麻豆精品一区二区| 国产日韩欧美在线影视| 日韩精品久久久久久久酒店| 欧美一区二三区人人喊爽| 最新国产精品自拍| 十八无遮挡| 国产偷国产偷亚洲清高| 午夜特级片| 羞羞视频网站免费| 精品视频久| 中文无码热在线视频| 久久久中精品2020中文 | 一区二区三区毛片| 久久99国产视频| 国产精品一区二区不卡| 亚洲精品一区二区另类图片| 狠狠躁天天躁又黄又爽| 欧美精品日韩| 亚洲一区二区三区加勒比| 欧美在线免费观看一区| 精品久久久影院| 99爱精品视频| 国产一区二区三区国产| 日本午夜影视| 午夜无遮挡| 午夜在线看片| 国模少妇一区二区三区| 538在线一区二区精品国产| 国产精品日韩三级| 午夜老司机电影| av国产精品毛片一区二区小说| 国产一区二区a| 国产午夜精品一区二区三区视频 | 久久二区视频| 国产免费一区二区三区四区| 亚洲欧洲另类精品久久综合| 国产一区二区三区色噜噜小说| 免费看性生活片| 国产精品视频免费一区二区| 精品国产乱码久久久久久久| 精品国产91久久久| 国产欧美日韩一区二区三区四区| 国产在线不卡一区| 亚洲一卡二卡在线| 欧美大片一区二区三区| 久久免费视频一区二区| 国产一区二区三区伦理| 欧美午夜看片在线观看字幕| 亚洲精品主播| 国产精品麻豆自拍| 伊人欧美一区| 国产99小视频| 国产99久久九九精品| 亚洲国产一区二区久久久777| 国产精品日韩视频| 午夜欧美影院| 91精品视频一区二区| 午夜电影三级| 亚洲四区在线观看| а√天堂8资源中文在线| 亚洲欧美一二三| 狠狠干一区| 午夜一级免费电影| 日韩亚洲精品视频| 97久久精品人人做人人爽50路| 久久国产精品波多野结衣| 91av精品| 欧美黄色一二三区| 久久精品国产色蜜蜜麻豆| 国产999在线观看| 久久久久久久久亚洲精品| 欧美日韩中文字幕一区| 国内视频一区二区三区| 三上悠亚亚洲精品一区二区| 福利片午夜| 久久精品亚洲精品国产欧美| 亚洲乱强伦| 99精品视频一区| 亚洲欧美国产日韩综合| 国产亚洲精品久久午夜玫瑰园| 久久久久久久久亚洲精品| 亚洲女人av久久天堂| 日韩av在线中文| 中文字幕在线乱码不卡二区区| 日本精品一区二区三区在线观看视频 | 91精品夜夜| 国产精品免费专区| 国产在线一二区| 国产日本欧美一区二区三区| 97久久精品一区二区三区观看| 夜夜夜夜夜猛噜噜噜噜噜gg| 国产一区网址| 91精品一区在线观看| 国产精品视频久久| 满春阁精品av在线导航| 99久久精品免费看国产交换| 国产欧美综合一区| 国产精品99一区二区三区| 国产精品久久久久久亚洲美女高潮| 一区二区欧美视频| 中文字幕一级二级三级| 乱淫免费视频| 国产精品一级在线| 欧美精品在线一区二区| 日本高清二区| 国产精品高潮呻吟三区四区| 狠狠色噜噜狠狠狠狠奇米777| 欧美日韩九区| 精品国产一区二区三| 国产精品一区二区麻豆| 91久久一区二区| 国产精品久久久久久久久久久不卡| 亚洲乱码av一区二区三区中文在线:| 亚洲高清久久久| 亚洲精品久久久久久久久久久久久久| 日韩精品一区二区免费| 欧美日韩国产区| 免费在线观看国产精品| 性色av色香蕉一区二区| 黄毛片在线观看| 夜夜爽av福利精品导航| 精品国产品香蕉在线| 激情久久影院| 国产精品19乱码一区二区三区| 亚洲精品久久久久999中文字幕 | 国产经典一区二区三区| 日本精品视频一区二区三区| 十八无遮挡| 国产色99| 国产精品视频1区2区3区| 欧美黑人巨大久久久精品一区| 中文字幕欧美另类精品亚洲| 欧美精品国产一区二区| 午夜特片网| 中文字幕一级二级三级| 国产欧美精品一区二区在线播放| 日韩精品一二区| 欧美资源一区| 国产亚洲精品久久久久久久久动漫| 国产亚洲精品久久久456| 国产清纯白嫩初高生在线播放性色| 国产偷久久一区精品69| 国产高清一区在线观看| 99久国产| 精品视频久| 精品国产一区在线| 亚洲欧美一二三| 国产免费观看一区| 亚洲精品久久久久不卡激情文学| 97精品久久久午夜一区二区三区| 日韩精品中文字幕在线| 国产一区在线视频观看| 国产一区免费播放| 激情久久综合| 亚洲乱玛2021| 国产精品黑色丝袜的老师| 国产精品视频一二区| 亚洲精品一区二区三区香蕉| 一区二区三区中文字幕| 少妇厨房与子伦在线观看| 亚洲制服丝袜中文字幕| 欧美日韩一区二区三区精品| 久久99国产视频| 97人人澡人人爽人人模亚洲| 91丝袜诱惑| 玖玖精品国产| xxxx18日本护士高清hd| 久久一二区| 黑人巨大精品欧美黑寡妇| 高清欧美xxxx| 国产伦精品一区二区三区免费优势| 国产一区欧美一区| 欧美国产一区二区在线| 亚洲va久久久噜噜噜久久0| 国产专区一区二区| 激情久久综合网| 狠狠色噜噜狠狠狠狠米奇7777| 国产一区二区三区在线电影| 日韩精品免费播放| 搡少妇在线视频中文字幕| 亚洲天堂国产精品| 二区三区视频| 久久精品爱爱视频| 国产精品二区一区| 欧美日韩亚洲另类| 国产男女乱淫视频高清免费| 偷拍精品一区二区三区| 满春阁精品av在线导航 | 国产精品偷乱一区二区三区| 色婷婷精品久久二区二区蜜臂av| 午夜老司机电影| 欧美freesex极品少妇| 色婷婷精品久久二区二区6| 亚洲精品久久久久中文字幕欢迎你| 久久国产精品久久久久久电车| 午夜色影院| 国产欧美一区二区精品性| 99国产精品永久免费视频| 国产69久久| 久久一区二| 国产精品美女久久久另类人妖| 亚洲精品国产一区二| 毛片大全免费观看| 欧美日韩一区二区三区四区五区| 欧美精品粉嫩高潮一区二区| 亚洲第一区国产精品| 久久国产精彩视频| 挺进警察美妇后菊| 国产精品天堂网| 国产精品久久久久久久龚玥菲| 麻豆国产一区二区| 日本精品一区视频| 国产精品麻豆一区二区三区| 午夜老司机电影| 日本护士hd高潮护士| 午夜国产一区二区三区四区| 午夜电影一区二区三区| 国产伦精品一区二| 日本二区在线播放| 99久久99精品| 欧美性猛交xxxxxⅹxx88| 国产一区二区播放| 综合欧美一区二区三区| 国内久久精品视频| 午夜爽爽视频| 国产视频一区二区不卡 | 精品三级一区二区| 91精品视频一区二区三区| 中文字幕一区三区| 狠狠色丁香久久综合频道| 日韩精品免费一区二区三区| 国产精品日韩精品欧美精品| 精品欧美一区二区在线观看| 国产日韩欧美第一页| 国产一区二区高潮|