• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于本地代理和索引信息的代碼侵權(quán)檢測方法

    2017-07-12 21:10:19寨亮張剛趙逢禹
    軟件導刊 2017年6期

    寨亮+張剛+趙逢禹

    摘要:開源軟件越來越豐富,企業(yè)開發(fā)人員可以方便地通過復用開源代碼提高開發(fā)效率。但是開源代碼的許可證非常復雜,未加管理的代碼復用可能給企業(yè)帶來嚴重的法律風險。通過侵權(quán)檢測發(fā)現(xiàn)潛在侵權(quán)風險是企業(yè)自我保護的重要手段,然而一般企業(yè)都沒有能力維護互聯(lián)網(wǎng)級別的開源代碼庫,而使用第三方檢測系統(tǒng)需要提供企業(yè)自己的源碼,可能造成企業(yè)技術(shù)秘密泄露。為解決上述問題,提出了一種基于本地代理的代碼侵權(quán)檢測方案,該方案僅需要對外提交代碼的結(jié)構(gòu)和索引信息即可,無需提供完整的源碼,既保護了企業(yè)源碼隱私,又避免了企業(yè)維護大量開源代碼庫的額外負擔,實現(xiàn)了高效的侵權(quán)檢測。

    關(guān)鍵詞:侵權(quán)檢測;哈希值;索引;代碼抄襲;克隆檢測;本地代理

    DOIDOI:10.11907/rjdk.171685

    中圖分類號:TP306

    文獻標識碼:A 文章編號:1672-7800(2017)006-0005-06

    0 引言

    軟件開發(fā)人員在進行軟件編碼時,往往會參考他人的代碼,特別是通過網(wǎng)絡獲取大量代碼。大量開源代碼為這種開發(fā)模式帶來了很大的便利,但是由于開源代碼采用的許可證種類多樣,每種許可證的約束都不相同,盲目復用軟件很可能給企業(yè)帶來嚴重的法律風險。Oracle和谷歌曠日持久的侵權(quán)官司就是一例。Oracle在2012年起訴谷歌,控告谷歌的軟件代碼侵權(quán),包括了多項指控,其中包括9行代碼重復。該官司前后打了4年,直到2016年才塵埃落定。雖然最終Oracle敗訴,但由于代碼抄襲帶來的法律風險仍然給企業(yè)造成了巨大損失[1]。

    開源軟件的許可證包括MIT許可證、Apache許可證、GPL許可證、LGPL許可證等[2]。不同的許可證信息賦予代碼使用者不同權(quán)利。例如GPL許可證就具備典型的傳染性質(zhì)。GPL允許開發(fā)者對開源代碼自由使用和修改,但是,基于GPL許可證的代碼修改和新開發(fā)的代碼必須遵循GPL許可證,對代碼公開,不允許將修改、衍生的代碼作為閉源的商業(yè)軟件發(fā)布和銷售。

    由于企業(yè)軟件開發(fā)人員數(shù)量多,代碼量大,而開源軟件的數(shù)量更是數(shù)不勝數(shù),對各種許可證及侵權(quán)風險進行手工檢查幾乎不可能。因此,為了幫助企業(yè)規(guī)避潛在的法律風險,就需要一個可以檢測并報告潛在軟件侵權(quán)風險的方法和系統(tǒng)。

    在軟件抄襲檢測方面,已經(jīng)研究和開發(fā)了較多的方法和系統(tǒng)[3],較常用的檢測系統(tǒng)包括JPlag[4]、MOSS[5]、YAP3[6]、GPLAG[8]等。一般來說,抄襲檢測需要將檢測的代碼完整提供給軟件抄襲檢測系統(tǒng),如果企業(yè)使用第三方檢測服務,就意味著企業(yè)需將待檢測的軟件源碼上傳給第三方,這給企業(yè)源碼安全構(gòu)成一定風險,并有可能造成企業(yè)技術(shù)秘密、甚至業(yè)務秘密泄露。如果不使用第三方服務,企業(yè)就需要自己構(gòu)建和維護一套完整的抄襲檢測系統(tǒng)。為了有效檢測,該系統(tǒng)需要擁有互聯(lián)網(wǎng)上所有帶有許可證的開源代碼,這對一般企業(yè)來說負擔巨大,甚至是不可完成的任務。因此,一種既可以保護企業(yè)源碼安全又能高效快速進行軟件侵權(quán)檢測的方法對企業(yè)具有重要的現(xiàn)實意義。

    為了解決上述問題,本文提出了一種基于本地代理和代碼塊哈希索引的代碼侵權(quán)檢測方案,該方案能很好地保護企業(yè)源碼隱私,避免企業(yè)維護大量開源代碼庫的額外負擔。

    本文方法主要優(yōu)點:①通過本地代理,僅需要上傳代碼塊的哈希索引特征和結(jié)構(gòu)特征,無需企業(yè)提供原始代碼,能夠很好地保護企業(yè)技術(shù)秘密;②基于代碼塊的哈希索引和結(jié)構(gòu)信息對于侵權(quán)檢測仍然是信息完備的,不影響檢測效果,而且這種形式較源碼而言占用內(nèi)存空間更少,傳輸速度更快,檢索速度也更快;③特征定義清晰,檢測規(guī)則可以靈活調(diào)整和持續(xù)改進;④檢測時比對項目眾多,能夠基于整個互聯(lián)網(wǎng)的項目進行檢測,并且能夠基于統(tǒng)計信息自動降低誤報率,檢測結(jié)果更加準確。

    1 相關(guān)工作

    現(xiàn)有程序代碼抄襲檢測方法主要包括兩類:基于屬性統(tǒng)計的檢測技術(shù)和基于結(jié)構(gòu)度量的檢測技術(shù)。

    屬性統(tǒng)計技術(shù)只對程序的屬性進行統(tǒng)計處理,不考慮程序的內(nèi)部結(jié)構(gòu)。文獻[11]最早把屬性統(tǒng)計技術(shù)用于程序代碼抄襲檢測。Halstead統(tǒng)計了4個屬性,即N1為運算符出現(xiàn)的次數(shù),N2為運算數(shù)出現(xiàn)的次數(shù),n1為不同運算符的數(shù)量,n2為不同運算數(shù)的數(shù)量,則源程序被轉(zhuǎn)化為一個四元組(n1,n2,N1,N2),當兩個源程序的四元組相同時將其判定為抄襲。不同學者[12-14]引入了許多度量指標,但這些嘗試都收效甚微。由于屬性統(tǒng)計技術(shù)是對整個程序進行度量,忽略了大部分結(jié)構(gòu)信息,僅增加度量指標對程序的檢測結(jié)果沒有實質(zhì)性提升。該方法對直接復制粘貼的代碼抄襲檢測效果較好,當對源程序進行結(jié)構(gòu)修改或增加刪除代碼段時效果卻不理想,存在很多漏報。

    結(jié)構(gòu)度量技術(shù)是根據(jù)程序的內(nèi)部結(jié)構(gòu)信息來判斷兩個程序之間是否相似。結(jié)構(gòu)度量技術(shù)是代碼克隆檢測方法[9]的一個子集,包括基于文本的方法、基于Token的方法、基于抽象語法樹(AST)的方法、基于程序依賴圖(PDG)的方法等。

    基于文本的抄襲檢測方法從源代碼的文本結(jié)構(gòu)入手來檢測程序的相似度,其中的代表性工具如Dup[15],是以源代碼的每一行作為比較單元,通過構(gòu)建后綴樹來計算代碼的相似度。而文獻[10]利用滑窗來分割代碼行,配合基于索引的方式提出了一種較為高效的檢測方法?;谖谋镜姆椒ㄝ^少反映程序的語法語義信息,檢測精確度較低。

    基于Token的檢測是將源碼轉(zhuǎn)換為Token序列的形式。在克隆檢測領(lǐng)域比較典型的是文獻[7]的CCFinder。在抄襲檢測領(lǐng)域,JPlag、YAP3都是這種類型的抄襲檢測系統(tǒng)。它們首先將源代碼轉(zhuǎn)換成Token序列,然后使用RKR-GST算法來計算代碼相似度?;赥oken的方法忽略了程序的語法語義信息,僅對詞法級別的代碼抄襲檢測效果良好。

    基于程序依賴圖的檢測方法通過分析源代碼的語法結(jié)構(gòu)、函數(shù)的調(diào)用關(guān)系等,構(gòu)建程序的依賴關(guān)系圖,通過子圖同構(gòu)來判斷代碼的相似度。如GPLAG系統(tǒng)使用子圖相似方法來計算源碼的相似度。基于PDG的方法雖然準確,但由于計算量大,無法應用于大規(guī)模場景。

    基于抽象語法樹的抄襲檢測方法將源碼轉(zhuǎn)換為抽象語法樹,通過尋找相似子樹計算相似。如文獻[16]直接在抽象語法樹上尋找相似子樹來計算語法樹的相似度。在克隆檢測領(lǐng)域,文獻[17]開發(fā)了工具DECKARD,通過聚類將相似子樹來檢測克隆代碼。基于AST的方法建立樹結(jié)構(gòu)的代價較高,較難應用在大型軟件的檢測場景。

    本文提出的基于抽象語法樹和索引信息的代碼檢測方法,通過抽象語法樹生成的代碼塊結(jié)構(gòu)信息和基于代碼塊的哈希索引,較完備地保存了源碼信息,不影響檢測效果,而且這種形式較源碼而言占用內(nèi)存空間少,傳輸速度更快,檢索速度也更快。該方法能夠基于整個互聯(lián)網(wǎng)的項目進行檢測,并且能夠基于統(tǒng)計信息自動降低誤報率,檢測結(jié)果更加準確。

    2 方法概述

    本文方法包括本地客戶端和服務器端兩部分。服務器端負責構(gòu)建互聯(lián)網(wǎng)級別的開源代碼庫信息,接收來自客戶端的檢測請求和代碼特征信息,進行代碼侵權(quán)檢測計算;本地客戶端則負責提取待檢測代碼的特征信息,包括代碼塊結(jié)構(gòu)信息和哈希索引信息,上報信息到服務器端,并對服務器端下發(fā)的重復信息進行本地化解讀。方法結(jié)構(gòu)如圖1所示。

    2.1 代碼特征提取

    代碼特征提取是服務器端和本地客戶端的公用模塊,負責提取代碼結(jié)構(gòu)和哈希索引特征,包含兩個子單元:代碼結(jié)構(gòu)解析和索引信息生成。

    (1)代碼結(jié)構(gòu)解析。通過抽象語法樹將程序源代碼解析為代碼塊結(jié)構(gòu),然后將代碼塊作為后續(xù)分析檢測的基本單元。定義解析后的源碼結(jié)構(gòu)為一個五元組(fileID,segmentID,parentSegmentID,segmentInfo,hashIndex)。其中fileId和segmentID分別為數(shù)字形式文件和代碼塊唯一標識。通過fileID和segmentID可以唯一識別一個代碼塊,同時又隱藏了代碼的細節(jié)信息。parentSegmentID為代碼塊父節(jié)點的ID,用于找出segmentID的父節(jié)點,segmentInfo為代碼塊中的其它信息,包括startLine、endLine、textLength、sequence、startCol等,startLine為代碼塊在文件中的起始行,endLine為代碼塊在文件中的終止行,textLength為代碼塊的文本長度信息,startCol為代碼塊的起始列,sequence為同一文件中不同代碼塊出現(xiàn)的次序等。圖2是抽象語法樹的代碼塊結(jié)構(gòu)示例。如代碼塊N4(122,3,2…)中,122為代碼塊的fileID,3為代碼塊的segmentID,2為代碼塊的parentSegmentID。

    (2)代碼索引生成。在代碼結(jié)構(gòu)解析的基礎(chǔ)上,對每個代碼塊生成索引,通過索引來唯一表示一個代碼塊的特征。代碼索引生成包括歸一化和哈希值計算兩個步驟。歸一化是代碼重復檢測的常用策略,通過移除空格、用一致的符號替換變量名和數(shù)字等,消除由于代碼格式、變量名等因素不同對檢測效果的影響。在歸一化的代碼上使用MD5哈希算法,為每個結(jié)點生成一個128位的哈希值[18]。最后,將獲得的哈希索引寫入代碼塊信息的hashIndex。

    2.2 本地映射表構(gòu)建

    本地映射表維護上傳到服務器端的代碼塊和本地可閱讀代碼的對應關(guān)系。當服務器端傳回以索引信息表達的重復信息時,可在本地解析為可讀的代碼形式。圖3展示了本地映射表的結(jié)構(gòu)。其中,每一行代表一個代碼塊,使用該代碼塊的fileID和segmentID為索引。parentSegmentID和segmentInfo反映了和原代碼的對應信息,hashIndex則代表了該代碼塊的哈希索引特征信息(見表1)。

    2.3 構(gòu)建全局特征信息表

    為了能和待檢測的代碼進行特征匹配,服務器端也需要維護全局特征信息表。服務端將項目源代碼轉(zhuǎn)化為一張全局索引表。全局特征信息表除了維護所有代碼塊的結(jié)構(gòu)特征和索引特征外,還需要維護項目信息、項目許可證信息。

    2.4 上傳代碼塊信息

    將代碼塊信息上傳至服務器,用于代碼重復檢測。上傳前將代碼塊信息中的原始信息去除,如segmentInfo中的起始列、終止列、代碼塊出現(xiàn)順序等信息。保留起始行、終止行、代碼塊長度信息、版本信息,然后將代碼塊信息上傳至服務器。服務器端接收本地代理傳來的代碼塊信息,并使用侵權(quán)檢測引擎進行檢測。

    2.5 侵權(quán)檢測引擎

    服務器端基于本地代理上傳的代碼塊結(jié)構(gòu)信息判斷代碼塊的重復性以及是否侵權(quán)。如果發(fā)現(xiàn)侵權(quán),就將侵權(quán)的重復信息發(fā)送給本地代理,由本地代理進行解析。

    為此,將上傳的代碼塊信息對照全局索引表,并按照重復檢測規(guī)則進行檢測,下面給出幾個參考規(guī)則。

    規(guī)則一:簡單索引重復

    簡單索引重復即將索引表中的索引同全局索引表中的索引進行匹配,若索引值相同并且代碼行數(shù)大于5行則視為一個重復。

    其中,S為服務器端接收到的索引表,表中含有起始行startLine,中止行endLine,索引值hash,由規(guī)則三檢測到的索引值將存入索引表S2中。

    根據(jù)重復檢測規(guī)則找到重復片段后,對重復片段所在文件的許可證信息進行檢測,若重復代碼所在項目的許可證信息允許用戶進行修改再發(fā)布,則視為不侵權(quán),反之則視為侵權(quán)。比如GPL許可證信息中不允許其衍生代碼進行非開源的商業(yè)用途,若直接復用其項目代碼則引起侵權(quán)。

    2.6 下發(fā)侵權(quán)檢測報告

    服務器將檢測到的代碼塊重復序列傳回本地代理。本地代理對接收到的侵權(quán)檢測報告進行解析,按照代碼塊ID還原成本地代碼進行展示。

    3 系統(tǒng)實現(xiàn)

    侵權(quán)檢測系統(tǒng)本地端主要負責提取軟件代碼的索引特征,上報到服務器以及對服務器下發(fā)的重復信息進行本地化解讀。服務器端主要負責重復檢測,如圖3所示。

    項目解析器同時作用于本地和服務器端,本地為項目代理,服務器端為項目解析器,主要功能都是將源碼經(jīng)過語法樹、索引生成一張索引表。本文使用Eclipse的JDT內(nèi)建的代碼解析器生成抽象語法樹,采用MD5哈希算法來生成索引。本地項目代理在接收到服務器端傳來的重復時,將其轉(zhuǎn)換為可閱讀的代碼形式。

    爬蟲主要收集網(wǎng)上的項目資源,這里以GitHub項目托管平臺上的JAVA項目為抓取目標。GitHub作為目前規(guī)模最大的開源軟件托管平臺,提供了較友好的API,可以方便獲取項目源碼。

    項目數(shù)據(jù)庫主要在服務器端存儲抓取的代碼。由于開源項目眾多,即使轉(zhuǎn)換成索引形式仍然占用很大空間,內(nèi)存不足以存儲,此時對項目進行持久化,將其存儲在數(shù)據(jù)庫中。

    重復匹配模塊主要對本地項目代理傳輸?shù)拇a塊索引信息與服務器端的全局索引表進行重復匹配,利用重復匹配方法確定是否重復。

    4 實驗及結(jié)果

    為了驗證文中提出的軟件侵權(quán)檢測方案,選取一個健康方面的商業(yè)軟件(本文中代號為INCH)作為實驗對象,在其中注入抄襲信息。選擇GitHub的50個開源JAVA項目進行侵權(quán)檢測。50個開源項目的版本信息分為MIT許可證、Apache許可證、GPL許可證3種。本文實驗環(huán)境為:操作系統(tǒng)Win10 64位,CPU Intel Core i5-7300HQ,內(nèi)存8G。

    本實驗分別對不同重復規(guī)則下的侵權(quán)方法進行驗證。由于INCH項目為企業(yè)開發(fā)人員獨立完成的程序,INCH中并不含有侵權(quán)代碼,為了對侵權(quán)算法進行驗證,將一段侵權(quán)代碼人為注入INCH項目進行檢測。

    實驗步驟:

    (1)選取許可證為GPL的項目CoreNLP,將CoreNLP項目文件中的一段源碼復制到INCH項目文件中,作為侵權(quán)代碼來源。

    (2)構(gòu)建開源項目代碼庫。啟動服務器,并抓取前述的開源項目代碼庫信息緩存到本地,然后對項目進行解析,解析后的代碼塊存入全局索引表。

    (3)選取重復檢測規(guī)則,分別選用規(guī)則一、規(guī)則二、規(guī)則三,然后啟動檢測客戶端對項目進行檢驗。

    實驗一:驗證簡單侵權(quán)規(guī)則的檢測能力(規(guī)則一)

    選取50個開源項目中含有GPL許可證的CoreNLP項目,將ArgUtils.Java中的getWeightedTreebankDescription()方法(get()方法)復制到INCH的LoginDTO.java文件中。根據(jù)文獻[19]提出的代碼抄襲手段,分別對get()方法進行代碼混淆操作,如原樣復制、修改注釋信息、標識符名稱替換、替換數(shù)據(jù)類型、添加無意義的代碼等。選取規(guī)則一進行侵權(quán)檢測,實驗結(jié)果見表2,運用規(guī)則一的侵權(quán)檢測方法僅需要6秒即可檢測出所有注入的侵權(quán)代碼。標識符名稱替換后的實驗檢測報告如圖4所示。

    實驗二:驗證基于統(tǒng)計特征的重復項檢測能力(規(guī)則二)

    選取CoreNLP項目,將ArgUtils.Java中的get()方法分別進行try..catch語句塊移除,調(diào)整if語句出現(xiàn)順序,分別命名為get()1方法、get()2方法,然后將get()1、get()2復制到INCH項目中。選取規(guī)則二進行檢測,實驗結(jié)果如表3。其中try..catch語句塊移除后的實驗檢測報告見圖5。

    實驗三:驗證基于統(tǒng)計特征的非侵權(quán)特征(規(guī)則三)

    上述實驗中有些代碼塊如try..catch語句塊在項目中經(jīng)常使用,一般不應識別為侵權(quán)。在此選取junit4項目TimeoutTest.java文件中的try {Thread.sleep(200);} catch (InterruptedException e) {}代碼塊復制到其余49個項目中,利用規(guī)則三進行檢測。由于項目庫僅有50個項目,因此把規(guī)則三中重復項特征統(tǒng)計的臨界值改為30。實驗結(jié)果表明運用規(guī)則三的檢測方法僅需6.2秒即可完成任務,未發(fā)現(xiàn)侵權(quán)代碼。

    實驗四:同JPlag系統(tǒng)對比

    選取INCH項目為待檢測項目,CoreNLP項目為對比項目。分別選取規(guī)則一中的標識符替換,原樣復制規(guī)則二中的移除語句塊的3種抄襲手段,對ArgUtils.Java中的get()方法進行變換。利用本文提出的檢測方法同JPlag檢測系統(tǒng)進行對比。由于JPlag系統(tǒng)的檢測結(jié)果為代碼相似度數(shù)值,所以用時間的度量進行對比,實驗結(jié)果如表4所示。

    根據(jù)實驗一數(shù)據(jù)可以看出,利用原樣復制、修改注釋信息、標識符名稱替換、替換數(shù)據(jù)類型、添加無意義的代碼這些方式進行代碼抄襲,本文檢測方法均能正確檢測,并且檢測時間在6s左右。實驗二在移除get()方法中的try..catch語句或調(diào)整if語句順序后,檢測到的重復符合規(guī)則二提出的區(qū)域分布。實驗三未找出侵權(quán)片段,是由于按照規(guī)則三,同一段代碼出現(xiàn)在較多的項目中則認為是正常復用,在這50個項目中可以很好地消除誤報。實驗四中JPlag系統(tǒng)的檢測時間為6.8s,本文方法為5.2s,在時間上優(yōu)于JPlag系統(tǒng)。由實驗一實驗二的檢測報告可以看出,返回的侵權(quán)代碼以代碼塊形式顯示,用戶可以根據(jù)本地映射表找到侵權(quán)代碼,保護了用戶隱私。

    5 結(jié)語

    本文提出了一種基于本地代理和索引信息的代碼侵權(quán)檢測方案,實現(xiàn)了高效的侵權(quán)檢測,具備良好的可定制性。該方法可較好地保護企業(yè)源碼安全,檢測時間較快,達到了預期效果。但該侵權(quán)檢測系統(tǒng)目前僅實現(xiàn)了對JAVA語言代碼的侵權(quán)檢測,后續(xù)仍需要對其它編程語言如C/C++、Python語言等進行完善。此外,本實驗測試數(shù)據(jù)集規(guī)模較小,下一步將擴大規(guī)模,進一步驗證侵權(quán)檢測系統(tǒng)的有效性。

    參考文獻:

    [1] JAMES NICCOLAI.Oracle seeks $9.3 billion for Google′s use of Java in Android[EB/OL].[2016-05-28].http://www.infoworld.com/article/3048726/android/oracle-seeks-93-billion-for-googles-use-of-java-in-android.html?utm_source=tuicool&utm_medium=referral.

    [2] FREE SOFTWARE FOUNDATION.Various licenses and comments about them,2017[EB/OL].https://www.gnu.org/licenses/license-list.html.

    [3] 田振洲,劉烴,鄭慶華,等.軟件抄襲檢測研究綜述[J].信息安全學報,2016,1(3):158-161.

    [4] PRECHELT L,MALPOHL G.Finding plagiarisms among a set of programs with JPlag[EB/OL].https://www.researchgate.net/publication/2832828_Finding_Plagiarisms_among_a_Set_of_Programs_with_JPlag.

    [5] WISE M J.YAP3:improved detection of similarities in computer program and other texts[J].Acm Sigcse Bulletin,1996,28(1):130-134.

    [6] LIVIERI S,HIGO Y,MATUSHITA M,et al.Very-large scale code clone analysis and visualization of open source programs using distributed CCFinder: D-CCFinder[C].International Conference on Software Engineering.IEEE,2007:106-115.

    [7] LIU C,CHEN C,HAN J,et al.GPLAG: detection of software plagiarism by program dependence graph analysis[C].ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2006:872--881.

    [8] 史慶慶,孟繁軍,張麗萍,等.克隆代碼技術(shù)研究綜述[J].計算機應用研究,2013,30(6):1617-1623.

    [9] HUMMEL B,JUERGENS E,HEINEMANN L,et al.Index-based code clone detection: incremental,distributed,scalable[C].IEEE International Conference on Software Maintenance.IEEE Computer Society,2010:1-9.

    [10] HALSTEAD M H.Elements of software science[M].Elsevierence,1977.

    [11] OTTENSTEIN K J.An algorithmic approach to the detection and prevention of plagiarism[J].Acm Sigcse Bulletin,1976,8(4):30-41.

    [12] GRIER S.A tool that detects plagiarism in pascal programs[J].ACM SIGCSE Bulletin,1981,13(1):15-20.

    [13] VERCO K L,WISE M J.Software for detecting suspected plagiarism: comparing structure and attribute-counting systems[C].Australasian Conference on Computer Science Education.ACM,1996:81-88.

    [14] BAKER B S.A program for identifying duplicated code[M].Computing Science & Statistics,1992.

    [15] KIM Y C,CHO Y Y,MOON J B.A plagiarism detection system using a syntax-tree.[C].International Conference on Computational Intelligence,ICCI 2004.

    [16] JIANG L,MISHERGHI G,SU Z,et al.DECKARD:scalable and accurate tree-based detection of code clones[C].International Conference on Software Engineering.IEEE,2007:96-105.

    [17] RIVEST R.The MD5 message-digest algorithm[M].RFC Editor,1992.

    [18] JONES E L.Metrics based plagiarism monitoring[C].Ccsc Northeastern Conference,2001:1-8.

    (責任編輯:杜能鋼)

    英文摘要Abstract:With the growing of open source software,enterprise developers tends to reuse existing open source code to improve development efficiency.But the complexity and variety of open source licenses may bring serious legal risks to enterprises.As a result,the immediate infringement detection is important to help enterprises to avoid such risks.However,general enterprises are unable to maintain the Internet-level open source code library,and needs to provide their own source code when using the third-party detection system which may cause the disclosure of enterprises technological secrets.In order to solve those problems,our paper proposes a local proxy code infringement detection approach.It only require enterprises providing the code structure and index information,without necessary of all of its source code.Our approach can protect enterprise source privacy and achieve efficient infringement detection.

    英文關(guān)鍵詞Key Words:Infringement Detection;Hash;Index;Code Plagiarism;Clone Detection;Local Proxy

    熟妇人妻久久中文字幕3abv| 精品久久久久久久久久久久久| 国产精品亚洲av一区麻豆| 国产av一区在线观看免费| 亚洲最大成人中文| 12—13女人毛片做爰片一| 国产一区二区三区视频了| 日韩国内少妇激情av| 亚洲最大成人中文| 精品久久久久久久久亚洲 | 国产一区二区在线av高清观看| 色播亚洲综合网| 成人鲁丝片一二三区免费| 看免费av毛片| 日韩欧美 国产精品| 国产91精品成人一区二区三区| 亚洲av熟女| av女优亚洲男人天堂| 观看免费一级毛片| 欧美日韩综合久久久久久 | 色综合亚洲欧美另类图片| 搡老妇女老女人老熟妇| 极品教师在线视频| 老熟妇乱子伦视频在线观看| 深夜a级毛片| 久久久精品欧美日韩精品| 简卡轻食公司| 午夜免费男女啪啪视频观看 | 国产毛片a区久久久久| 婷婷精品国产亚洲av在线| 亚洲内射少妇av| 久久九九热精品免费| 黄色丝袜av网址大全| 成年版毛片免费区| 一进一出好大好爽视频| 久久九九热精品免费| 国产综合懂色| 变态另类成人亚洲欧美熟女| 久久久久久久久久黄片| 国产欧美日韩一区二区精品| 麻豆一二三区av精品| 1000部很黄的大片| 欧美精品国产亚洲| 国产精品美女特级片免费视频播放器| 午夜免费男女啪啪视频观看 | 999久久久精品免费观看国产| 国产蜜桃级精品一区二区三区| 99国产精品一区二区蜜桃av| 国产av一区在线观看免费| 黄色日韩在线| 日韩欧美一区二区三区在线观看| 久久久久九九精品影院| 欧美最黄视频在线播放免费| 欧美又色又爽又黄视频| or卡值多少钱| 桃色一区二区三区在线观看| 黄色一级大片看看| 99久久精品热视频| 亚洲国产精品成人综合色| 亚洲精品456在线播放app | 婷婷色综合大香蕉| 成人无遮挡网站| 国产av一区在线观看免费| av福利片在线观看| 免费高清视频大片| 午夜激情欧美在线| 人人妻人人看人人澡| 亚洲 国产 在线| 国产三级黄色录像| 国产69精品久久久久777片| 亚洲无线观看免费| 色噜噜av男人的天堂激情| 精品免费久久久久久久清纯| 极品教师在线视频| 免费无遮挡裸体视频| 一区福利在线观看| 一个人观看的视频www高清免费观看| 色综合欧美亚洲国产小说| 亚洲va日本ⅴa欧美va伊人久久| 精品久久久久久,| 日本免费a在线| 日本黄色片子视频| h日本视频在线播放| 国内揄拍国产精品人妻在线| 男插女下体视频免费在线播放| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 国产精品爽爽va在线观看网站| 久99久视频精品免费| 日日摸夜夜添夜夜添小说| 亚洲专区中文字幕在线| 国产黄色小视频在线观看| 免费看日本二区| 欧美精品啪啪一区二区三区| 我的女老师完整版在线观看| 无人区码免费观看不卡| 国产精品亚洲美女久久久| 国产午夜精品久久久久久一区二区三区 | 午夜激情欧美在线| 欧美激情久久久久久爽电影| 亚洲18禁久久av| 欧美色视频一区免费| 可以在线观看毛片的网站| 97碰自拍视频| 免费看美女性在线毛片视频| 丰满人妻熟妇乱又伦精品不卡| 在线a可以看的网站| 久久精品国产清高在天天线| 午夜激情福利司机影院| 精品福利观看| 久久人人爽人人爽人人片va | 国产精品久久久久久久电影| 国产精品一区二区三区四区久久| xxxwww97欧美| 日本熟妇午夜| 久久久久久久久久黄片| 久久99热6这里只有精品| 欧美绝顶高潮抽搐喷水| 国产私拍福利视频在线观看| 精品一区二区三区视频在线| 亚洲最大成人中文| www.999成人在线观看| 一级作爱视频免费观看| 欧美绝顶高潮抽搐喷水| 国产精品,欧美在线| 日韩亚洲欧美综合| 欧美+日韩+精品| av国产免费在线观看| 男女视频在线观看网站免费| 中文在线观看免费www的网站| 亚洲电影在线观看av| 国产一区二区激情短视频| 老司机午夜十八禁免费视频| 精品福利观看| 亚洲国产欧美人成| 色视频www国产| 少妇高潮的动态图| 亚洲精品粉嫩美女一区| 蜜桃亚洲精品一区二区三区| 国产精品亚洲一级av第二区| 欧美性猛交黑人性爽| 久久99热6这里只有精品| 又黄又爽又免费观看的视频| 欧美精品国产亚洲| 欧美日韩亚洲国产一区二区在线观看| 欧美日韩黄片免| 琪琪午夜伦伦电影理论片6080| 国产淫片久久久久久久久 | 亚洲人成网站高清观看| 美女xxoo啪啪120秒动态图 | 日本在线视频免费播放| 亚洲,欧美,日韩| 波多野结衣高清无吗| 在线免费观看的www视频| 偷拍熟女少妇极品色| 青草久久国产| 精品一区二区三区av网在线观看| 国产乱人伦免费视频| 亚洲美女黄片视频| 国产亚洲欧美在线一区二区| 亚洲精品久久国产高清桃花| 欧美丝袜亚洲另类 | 亚洲欧美激情综合另类| 欧美+日韩+精品| 搡女人真爽免费视频火全软件 | 女生性感内裤真人,穿戴方法视频| 国产视频内射| 九九在线视频观看精品| 我要搜黄色片| 欧美最黄视频在线播放免费| 男女下面进入的视频免费午夜| 国产亚洲精品久久久com| 午夜日韩欧美国产| 国产精品一及| 国产单亲对白刺激| 一区二区三区高清视频在线| av视频在线观看入口| 观看免费一级毛片| 婷婷色综合大香蕉| 国产麻豆成人av免费视频| 国产探花极品一区二区| 亚洲av成人av| 内地一区二区视频在线| 久久热精品热| 亚洲av一区综合| 久久99热6这里只有精品| 成年免费大片在线观看| 亚洲av免费在线观看| 欧美在线一区亚洲| 国产成人欧美在线观看| 成人欧美大片| 一区二区三区激情视频| 亚洲精品色激情综合| 亚洲欧美清纯卡通| 高潮久久久久久久久久久不卡| 精品福利观看| 国内揄拍国产精品人妻在线| 美女xxoo啪啪120秒动态图 | 波野结衣二区三区在线| 国产精品爽爽va在线观看网站| 日韩欧美在线二视频| 亚洲专区中文字幕在线| 禁无遮挡网站| 老熟妇乱子伦视频在线观看| 俄罗斯特黄特色一大片| 免费观看精品视频网站| www.色视频.com| 狂野欧美白嫩少妇大欣赏| 国产精品一区二区三区四区免费观看 | 欧美日韩综合久久久久久 | 欧美成人a在线观看| 成人一区二区视频在线观看| 香蕉av资源在线| 97超级碰碰碰精品色视频在线观看| 变态另类成人亚洲欧美熟女| 国产伦人伦偷精品视频| 看片在线看免费视频| 午夜福利欧美成人| aaaaa片日本免费| 三级男女做爰猛烈吃奶摸视频| 亚洲无线在线观看| 乱码一卡2卡4卡精品| 2021天堂中文幕一二区在线观| 日韩欧美精品免费久久 | 久久午夜福利片| 在线国产一区二区在线| 波多野结衣高清作品| 国产v大片淫在线免费观看| 一区二区三区高清视频在线| 最后的刺客免费高清国语| 麻豆一二三区av精品| 国产精品久久久久久精品电影| 国产中年淑女户外野战色| 免费av不卡在线播放| a级毛片a级免费在线| 别揉我奶头 嗯啊视频| 久久久久亚洲av毛片大全| 国模一区二区三区四区视频| 欧美激情久久久久久爽电影| 深爱激情五月婷婷| 十八禁国产超污无遮挡网站| 最新中文字幕久久久久| 久久久国产成人精品二区| 国产午夜福利久久久久久| 日本a在线网址| 精品国内亚洲2022精品成人| 国产蜜桃级精品一区二区三区| 两人在一起打扑克的视频| 成年女人看的毛片在线观看| 欧美xxxx黑人xx丫x性爽| 韩国av一区二区三区四区| 深夜精品福利| 亚洲第一电影网av| 欧美在线黄色| 女人被狂操c到高潮| 亚洲一区二区三区色噜噜| 69av精品久久久久久| 看黄色毛片网站| 高清日韩中文字幕在线| 男人狂女人下面高潮的视频| 久久久久亚洲av毛片大全| 亚洲最大成人手机在线| 久久香蕉精品热| 两个人视频免费观看高清| 中文字幕高清在线视频| 久久人人爽人人爽人人片va | 搡老岳熟女国产| 日韩 亚洲 欧美在线| 在线观看免费视频日本深夜| 日本 欧美在线| 国产成+人综合+亚洲专区| 欧美黄色片欧美黄色片| 国产综合懂色| 久久久久久久久大av| 久久久国产成人免费| 免费黄网站久久成人精品 | 搞女人的毛片| 国产三级中文精品| 亚洲av日韩精品久久久久久密| 亚洲国产色片| 窝窝影院91人妻| 国产高清激情床上av| 欧美丝袜亚洲另类 | 久久精品国产清高在天天线| 亚洲久久久久久中文字幕| 黄色日韩在线| 99热精品在线国产| 深夜精品福利| 99热这里只有是精品50| 色吧在线观看| 中文在线观看免费www的网站| 欧美在线黄色| 久99久视频精品免费| 国产精品久久久久久久电影| 色播亚洲综合网| 国产精品99久久久久久久久| 极品教师在线免费播放| 欧美最黄视频在线播放免费| 天堂√8在线中文| 精品久久久久久久久久久久久| av国产免费在线观看| 在线看三级毛片| av在线蜜桃| 亚洲精华国产精华精| 亚洲va日本ⅴa欧美va伊人久久| 噜噜噜噜噜久久久久久91| 中文字幕久久专区| 十八禁网站免费在线| 国产av一区在线观看免费| 国产午夜精品久久久久久一区二区三区 | 国内少妇人妻偷人精品xxx网站| 午夜免费激情av| 成人国产综合亚洲| 日日干狠狠操夜夜爽| 日日摸夜夜添夜夜添av毛片 | 少妇人妻精品综合一区二区 | 午夜福利视频1000在线观看| 久久香蕉精品热| 嫩草影院入口| 免费av不卡在线播放| 久久久久久久精品吃奶| 伦理电影大哥的女人| 嫩草影院新地址| 国产午夜精品论理片| 丰满乱子伦码专区| 免费人成在线观看视频色| 黄片小视频在线播放| 高清在线国产一区| 国产蜜桃级精品一区二区三区| 亚洲av电影不卡..在线观看| 婷婷色综合大香蕉| 校园春色视频在线观看| 国产主播在线观看一区二区| 国产精品永久免费网站| 五月伊人婷婷丁香| 欧美极品一区二区三区四区| eeuss影院久久| 国产精品伦人一区二区| 一级a爱片免费观看的视频| 两人在一起打扑克的视频| 波多野结衣高清无吗| 精品人妻熟女av久视频| 日韩人妻高清精品专区| 午夜激情欧美在线| av中文乱码字幕在线| 三级毛片av免费| 成人av一区二区三区在线看| 国产成人aa在线观看| 每晚都被弄得嗷嗷叫到高潮| 亚洲人成电影免费在线| 精品人妻偷拍中文字幕| bbb黄色大片| 日韩欧美 国产精品| 日韩亚洲欧美综合| 日韩免费av在线播放| 亚洲国产色片| 97碰自拍视频| 美女高潮的动态| 久久人人精品亚洲av| 夜夜夜夜夜久久久久| 日本五十路高清| 国内精品久久久久久久电影| 久久人人精品亚洲av| 欧美3d第一页| 少妇被粗大猛烈的视频| 久久精品国产亚洲av天美| 亚洲美女视频黄频| 乱码一卡2卡4卡精品| 国产私拍福利视频在线观看| 欧美一级a爱片免费观看看| 国产精品一区二区三区四区久久| 窝窝影院91人妻| 麻豆国产97在线/欧美| 免费人成在线观看视频色| 亚洲内射少妇av| 国产精品野战在线观看| 我要看日韩黄色一级片| 搞女人的毛片| 男女视频在线观看网站免费| 久久香蕉精品热| 国产精华一区二区三区| 免费在线观看影片大全网站| 久99久视频精品免费| 亚洲 国产 在线| 中文字幕精品亚洲无线码一区| 亚洲专区中文字幕在线| 三级毛片av免费| 婷婷精品国产亚洲av在线| 免费在线观看成人毛片| 亚洲自拍偷在线| 老司机午夜福利在线观看视频| 国产真实伦视频高清在线观看 | 国产精品国产高清国产av| 久久久精品欧美日韩精品| 日本在线视频免费播放| 久久久久国产精品人妻aⅴ院| 一个人看的www免费观看视频| 在线免费观看的www视频| 色av中文字幕| 日本免费一区二区三区高清不卡| av视频在线观看入口| 人人妻人人看人人澡| 欧美黄色片欧美黄色片| 丰满人妻熟妇乱又伦精品不卡| 18禁黄网站禁片免费观看直播| av女优亚洲男人天堂| 欧美不卡视频在线免费观看| 九色成人免费人妻av| 亚洲精品乱码久久久v下载方式| 国产av在哪里看| 欧美成人一区二区免费高清观看| 亚洲人成网站高清观看| 婷婷精品国产亚洲av在线| 一本一本综合久久| 麻豆成人av在线观看| 一级毛片久久久久久久久女| 如何舔出高潮| 91午夜精品亚洲一区二区三区 | 夜夜爽天天搞| 小蜜桃在线观看免费完整版高清| 久久久久久久久大av| 99热这里只有精品一区| 久久热精品热| 欧美乱妇无乱码| 小说图片视频综合网站| 亚洲七黄色美女视频| 成人精品一区二区免费| 久久久久久久久久黄片| 91麻豆av在线| 欧美精品啪啪一区二区三区| 岛国在线免费视频观看| 国产亚洲精品综合一区在线观看| 精品午夜福利在线看| 男女那种视频在线观看| 中文字幕人成人乱码亚洲影| 一级av片app| 精品久久久久久,| 两人在一起打扑克的视频| 日韩欧美 国产精品| 精品久久久久久久末码| 成人欧美大片| www.999成人在线观看| 国产成人a区在线观看| 精品久久久久久久久亚洲 | 亚洲美女搞黄在线观看 | 少妇的逼水好多| 3wmmmm亚洲av在线观看| 中文字幕精品亚洲无线码一区| 悠悠久久av| 欧美成人一区二区免费高清观看| 欧美+日韩+精品| 观看美女的网站| 9191精品国产免费久久| 亚洲熟妇中文字幕五十中出| 精品久久久久久久久久久久久| 日韩成人在线观看一区二区三区| 亚洲18禁久久av| 麻豆av噜噜一区二区三区| 亚洲 国产 在线| 久久九九热精品免费| 免费av不卡在线播放| 日日干狠狠操夜夜爽| 韩国av一区二区三区四区| 久久久久久久午夜电影| 99精品在免费线老司机午夜| 女人十人毛片免费观看3o分钟| 蜜桃亚洲精品一区二区三区| 97人妻精品一区二区三区麻豆| 亚洲一区高清亚洲精品| 无遮挡黄片免费观看| 国产69精品久久久久777片| 国产野战对白在线观看| 久久久国产成人精品二区| 国产真实伦视频高清在线观看 | 亚洲天堂国产精品一区在线| 男人舔女人下体高潮全视频| 特大巨黑吊av在线直播| ponron亚洲| x7x7x7水蜜桃| 人人妻,人人澡人人爽秒播| 久久久色成人| 亚洲国产高清在线一区二区三| 亚洲黑人精品在线| 欧美激情久久久久久爽电影| 亚洲黑人精品在线| 亚洲精品一卡2卡三卡4卡5卡| 亚洲av熟女| 亚洲va日本ⅴa欧美va伊人久久| 91在线精品国自产拍蜜月| 日韩精品中文字幕看吧| 亚洲五月天丁香| 女同久久另类99精品国产91| www.www免费av| 国产精品一区二区性色av| 亚洲国产色片| 亚洲中文字幕一区二区三区有码在线看| 亚洲av熟女| 欧美不卡视频在线免费观看| 夜夜爽天天搞| 亚洲国产日韩欧美精品在线观看| 琪琪午夜伦伦电影理论片6080| 国产精品一区二区免费欧美| 久久婷婷人人爽人人干人人爱| 精品日产1卡2卡| 免费看a级黄色片| aaaaa片日本免费| 国产精品久久久久久亚洲av鲁大| 日韩有码中文字幕| 日韩人妻高清精品专区| 成人性生交大片免费视频hd| 日韩欧美 国产精品| 成人性生交大片免费视频hd| 日韩欧美 国产精品| 欧美日韩福利视频一区二区| 日韩免费av在线播放| 日韩 亚洲 欧美在线| 嫩草影视91久久| 无人区码免费观看不卡| 欧美又色又爽又黄视频| 国产日本99.免费观看| 国产三级中文精品| 免费在线观看成人毛片| 精品人妻1区二区| 非洲黑人性xxxx精品又粗又长| 97碰自拍视频| 最新在线观看一区二区三区| 村上凉子中文字幕在线| 亚洲人与动物交配视频| 神马国产精品三级电影在线观看| 成人鲁丝片一二三区免费| 精华霜和精华液先用哪个| 亚洲美女搞黄在线观看 | www.色视频.com| 看黄色毛片网站| 中亚洲国语对白在线视频| 亚洲精品亚洲一区二区| 国产av一区在线观看免费| 综合色av麻豆| 女同久久另类99精品国产91| 99热这里只有是精品在线观看 | 欧美高清成人免费视频www| 午夜福利在线观看吧| 91字幕亚洲| 亚洲国产精品久久男人天堂| a级毛片免费高清观看在线播放| 黄色日韩在线| aaaaa片日本免费| 久久精品国产清高在天天线| 欧美日韩国产亚洲二区| 国产亚洲精品久久久com| 成人三级黄色视频| 亚洲欧美日韩高清在线视频| 女人十人毛片免费观看3o分钟| 91久久精品电影网| 亚洲精品乱码久久久v下载方式| 欧美性猛交黑人性爽| 又紧又爽又黄一区二区| 色视频www国产| 欧美黑人欧美精品刺激| 亚洲国产精品合色在线| 欧美日韩福利视频一区二区| 99久久精品热视频| 中文资源天堂在线| 美女cb高潮喷水在线观看| 成人三级黄色视频| 欧美潮喷喷水| 国产精品久久久久久人妻精品电影| 91久久精品电影网| 别揉我奶头 嗯啊视频| 最近视频中文字幕2019在线8| 全区人妻精品视频| 免费看日本二区| 床上黄色一级片| 网址你懂的国产日韩在线| 亚洲人成伊人成综合网2020| 日韩欧美三级三区| 国内精品一区二区在线观看| 可以在线观看的亚洲视频| 久久99热这里只有精品18| 色5月婷婷丁香| 亚洲欧美日韩高清专用| 男人舔女人下体高潮全视频| 日韩欧美在线乱码| 久久九九热精品免费| 一a级毛片在线观看| 少妇的逼水好多| 男人的好看免费观看在线视频| 18禁黄网站禁片免费观看直播| a级一级毛片免费在线观看| 毛片一级片免费看久久久久 | 亚洲综合色惰| 欧美乱色亚洲激情| 1024手机看黄色片| 国产高清激情床上av| 国产熟女xx| 亚洲最大成人手机在线| av欧美777| 日韩欧美在线乱码| 毛片女人毛片| avwww免费| 中文字幕高清在线视频| 日本一二三区视频观看| 久久精品国产自在天天线| 国产亚洲精品综合一区在线观看| 亚洲最大成人手机在线| 热99在线观看视频| 国产精品亚洲美女久久久| 成人性生交大片免费视频hd| 香蕉av资源在线| 成人高潮视频无遮挡免费网站| 欧美日韩福利视频一区二区| 国产91精品成人一区二区三区| 久久久久国产精品人妻aⅴ院| x7x7x7水蜜桃| 国产欧美日韩精品亚洲av| 国产乱人伦免费视频|