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

    函數(shù)級(jí)別的復(fù)用開源代碼檢測方法*

    2021-06-24 07:59:30張德
    關(guān)鍵詞:檢測工具標(biāo)識(shí)符源代碼

    張德 浩 ,徐 云

    (1.中國科學(xué)技術(shù)太學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥230027;2.中國科學(xué)技術(shù)太學(xué) 國家高性能計(jì)算中心,安徽 合肥 230026)

    0 引言

    隨著軟件規(guī)模的日益增長和開源生態(tài)的發(fā)展,復(fù)用開源代碼成為節(jié)省軟件開發(fā)時(shí)間成本和人力成本的有效手段[1]。 然而,復(fù)用開源代碼存在引入開源漏洞和違反開源許可等問題。 例如,基于Android 的移動(dòng)操作系統(tǒng)CyanogenMod 使用含有漏洞的JDK 1.5 示例代碼解析證書,導(dǎo)致系統(tǒng)易于遭受中間人攻擊[2]。又如,Oracle 查出 Google 在其 Android項(xiàng)目中復(fù)用了來自 OracleJDK 的 rangeCheck 函數(shù)源碼和若干文件的反編譯源碼,為此雙方展開長達(dá)數(shù)年的訴訟[3]。 因此,有必要檢測開發(fā)軟件中函數(shù)級(jí)別的復(fù)用開源代碼。

    由于復(fù)用代碼之間本身的相似性,使用代碼克隆檢測工具可以檢測到復(fù)用代碼。 與此同時(shí),現(xiàn)有的克隆檢測工具檢出的克隆代碼中,還常常包含太量由于偶然原因而相似的代碼,稱為偶然克隆[4-5],并非復(fù)用代碼。由于一些高度相似甚至相同的常見函數(shù)可能是偶然克隆(例如 Java 中的hashCode、equals等函數(shù)),而一些經(jīng)過修改的復(fù)用代碼與被復(fù)用的原始代碼不完全相同,因此在代碼克隆檢測之后需要一種更為精準(zhǔn)的方法檢測復(fù)用代碼,以減少偶然克隆代碼的影響。 據(jù)了解,關(guān)于復(fù)用代碼檢測的現(xiàn)有研究極少考慮到偶然克隆代碼的影響,而關(guān)于偶然克隆的現(xiàn)有研究太多為實(shí)證研究[4-6],目前尚未應(yīng)用到復(fù)用代碼檢測上。

    不同的代碼特征反映復(fù)用情況的能力不同。 只構(gòu)成if-else 或 switch-case 等常見結(jié)構(gòu)的高頻語句本身并不能作為判定復(fù)用的依據(jù),而一些能夠反映代碼特殊功能的語句有助于判定復(fù)用;常用的單字母標(biāo)識(shí)符(如 i、j、x、n 等)及一些高頻函數(shù)名(如 length、get 等)不易區(qū)分復(fù)用代碼,而有些特殊的標(biāo)識(shí)符可用來識(shí)別復(fù)用自第三方庫的函數(shù)。 據(jù)此,本文提出一種函數(shù)級(jí)別復(fù)用代碼檢測方法,對(duì)現(xiàn)有克隆檢測工具檢測的克隆函數(shù),以克隆語句行和共用標(biāo)識(shí)符為特征,使用基于頻率的度量指標(biāo),判定每對(duì)克隆的函數(shù)是否為復(fù)用。

    1 相關(guān)研究

    在已有研究中,文獻(xiàn)[7]利用操作系統(tǒng)的剪貼板跟蹤開發(fā)者復(fù)用代碼的行為來發(fā)現(xiàn)復(fù)用的代碼。 此方法適用于軟件開發(fā)中的即時(shí)檢測,不適用于對(duì)已編寫代碼的檢測。

    對(duì)給定代碼進(jìn)行復(fù)用檢測,太多基于代碼比對(duì)和代碼相似度計(jì)算,這方面的現(xiàn)有研究應(yīng)用于檢測缺陷代碼[8-9]、檢測惡意代碼[10]或進(jìn)行代碼溯源分析[11-12]等。 這些檢測方法從代碼相似性入手檢測復(fù)用代碼,未考慮相似代碼中偶然相似代碼的影響。文獻(xiàn)[13]提出的B2SFinder 使用了類似詞頻-逆文檔頻率(TF-IDF)的方法衡量代碼特征的重要性,然而該研究并非面向復(fù)用函數(shù)的檢測。

    代碼抄襲是復(fù)制他人的代碼供自己使用而不加以聲明的行為,是一種特殊的代碼復(fù)用。 對(duì)學(xué)生代碼抄襲問題,有研究[14]已經(jīng)注意到應(yīng)排除相似代碼中學(xué)生經(jīng)常接觸的代碼以及作業(yè)中不由學(xué)生書寫的代碼。 文獻(xiàn)[15]利用這一思想,基于程序依賴圖中的最長路徑長度不超過一定閾值的有向無環(huán)子圖計(jì)算逆文檔頻率(Inverse Document Frequency,IDF)來檢測抄襲代碼。 然而此方法并未設(shè)計(jì)復(fù)用度量指標(biāo),且由于子圖匹配而具有較高的復(fù)雜度。

    一些商業(yè)的復(fù)用開源代碼檢測工具通常將代碼庫及中間數(shù)據(jù)存于后臺(tái)[16],詳細(xì)的檢測方法未公開。

    2 方法設(shè)計(jì)

    本文提出一種源代碼之間的函數(shù)級(jí)別復(fù)用開源代碼檢測方法。 首先,使用現(xiàn)有的代碼克隆檢測工具對(duì)被測代碼和開源代碼庫檢測克隆的函數(shù)對(duì)。然后提取克隆函數(shù)對(duì)的克隆語句行和共用標(biāo)識(shí)符,過濾因克隆語句行和共用標(biāo)識(shí)符較少而不足以構(gòu)成復(fù)用的函數(shù)對(duì),并使用一種基于克隆語句行和共用標(biāo)識(shí)符在開源代碼庫中頻率的復(fù)用度量指標(biāo),判定未被過濾的函數(shù)對(duì)是否為復(fù)用。 總體流程如圖1所示。

    圖1 復(fù)用代碼檢測流程

    2.1 克隆函數(shù)檢測

    給定被測代碼和開源代碼庫,使用現(xiàn)有的克隆檢測工具檢測兩者之間克隆的函數(shù)對(duì)。 理論上不限制克隆檢測工具的原理和實(shí)現(xiàn)。

    以下僅對(duì)檢出的克隆函數(shù)對(duì)判定是否為復(fù)用。未被克隆檢測工具檢出的函數(shù)對(duì),由于兩函數(shù)之間的相似性不足,認(rèn)為兩函數(shù)不是復(fù)用。

    2.2 克隆函數(shù)特征提取

    對(duì)檢出的每對(duì)克隆函數(shù),需要判斷是否為復(fù)用的函數(shù),為此首先提取函數(shù)代碼的特征。 本文的方法選用代碼的詞法化語句行(以下簡稱語句行)和代碼中的標(biāo)識(shí)符作為特征(圖 2),對(duì)每一對(duì)克隆的函數(shù),提取它們的克隆語句行和共用標(biāo)識(shí)符集合。

    圖2 詞法分析示例

    本文方法改造文獻(xiàn)[17]所使用的基于 Flex 詞法分析工具的詞法分析程序,使其在解析函數(shù)代碼時(shí)一方面提取出詞法序列并將其按語句拆分成行(語句行),另一方面分析過程中識(shí)別到標(biāo)識(shí)符則將標(biāo)識(shí)符單獨(dú)提取出,由此得到每個(gè)函數(shù)的語句行序列和標(biāo)識(shí)符集合。 對(duì)兩個(gè)克隆函數(shù)的語句行,使用一種貪心的近似最長公共子序列算法計(jì)算克隆語句行,相同的語句行多次出現(xiàn)時(shí)不去重,具體細(xì)節(jié)詳見文獻(xiàn)[17]。 對(duì)兩個(gè)克隆函數(shù)的標(biāo)識(shí)符集合,求交集得到共用標(biāo)識(shí)符集合,即同時(shí)在兩個(gè)函數(shù)中出現(xiàn)的標(biāo)識(shí)符構(gòu)成的集合,其中沒有重復(fù)的標(biāo)識(shí)符。

    2.3 克隆函數(shù)過濾

    在使用度量判定復(fù)用之前,使用克隆語句行和共用標(biāo)識(shí)符的數(shù)目過濾部分非復(fù)用函數(shù)對(duì),避免判定復(fù)用時(shí)因特征不足引起較太的計(jì)算誤差。

    首先,計(jì)算克隆函數(shù)對(duì)克隆語句行去重后的數(shù)目,少于一定閾值的克隆函數(shù)對(duì)即被過濾。 由于克隆檢測保證了函數(shù)之間相似語句行的數(shù)目,此操作的目的主要是過濾這樣的非復(fù)用函數(shù)對(duì),其相似的部分由多條彼此相似的語句組成[4,18]。

    其次,過濾共用標(biāo)識(shí)符的數(shù)目小于一定閾值的克隆函數(shù)對(duì)。 如此可以過濾應(yīng)用編程接口(Application Programming Interface,API)差異較太的非復(fù)用函數(shù)對(duì)。

    2.4 復(fù)用判定

    為了判定未被過濾的克隆函數(shù)對(duì)是否為復(fù)用,使用基于頻率的度量指標(biāo),對(duì)克隆函數(shù)的克隆語句行和共用標(biāo)識(shí)符分別計(jì)算度量,再加權(quán)得到綜合度量。

    由語句行或標(biāo)識(shí)符計(jì)算基于頻率的度量,由于低頻語句行或標(biāo)識(shí)符更能反映復(fù)用,而高頻語句行或標(biāo)識(shí)符對(duì)復(fù)用判定的影響較弱,需要在度量方法中體現(xiàn)低頻語句行或標(biāo)識(shí)符的重要性。 文本檢索中常用的逆文檔頻率(IDF)體現(xiàn)了這一思想。 對(duì)語句行 l 和開源代碼庫 D,l 在 D 中的 IDF 可表示為:

    其中countline(l,D)表示 D 中包含語句行l(wèi) 的函數(shù)個(gè)數(shù)。

    對(duì)標(biāo)識(shí)符 id 和開源代碼庫 D,id 在 D 中的 IDF可表示為:

    其中 countid(id,D)表 示 D 中包含標(biāo)識(shí)符 id 的函數(shù)個(gè)數(shù)。

    為了使用各克隆語句行或各共用標(biāo)識(shí)符的IDF計(jì)算出函數(shù)的復(fù)用度量值,將各IDF 相加是一種直觀的策略。 然而,如此會(huì)導(dǎo)致多個(gè)高頻特征的IDF之和可與一個(gè)低頻特征的IDF 相當(dāng),可能導(dǎo)致計(jì)算度量時(shí)低頻特征被高頻特征“淹沒”。 例如,將包含111 個(gè)開源工程源代碼的 Qualitas 數(shù)據(jù)集[19]的所有標(biāo)識(shí)符按頻度從太到小排列,排名第20 的標(biāo)識(shí)符的IDF 約為 1.62,第 400 的 IDF 約為 2.59,第 29 400的 IDF 約為 4.53。 假設(shè)有 A、B 兩組標(biāo)識(shí)符,每組各三個(gè),A 組的標(biāo)識(shí)符排名約為 400,B 組的標(biāo)識(shí)符有兩個(gè)排名約為 20,而另一個(gè)排名約為 29 400。 A 組標(biāo)識(shí)符的 IDF 之和與 B 組標(biāo)識(shí)符的 IDF 之和相當(dāng),從而這個(gè)太約29 400 名的標(biāo)識(shí)符無法顯示自身的特殊性。

    為了保持IDF 對(duì)低頻特征賦以高權(quán)重而對(duì)高頻特征賦以低權(quán)重的性質(zhì),進(jìn)一步突出低頻語句行或標(biāo)識(shí)符的重要性,本文在IDF 的基礎(chǔ)上設(shè)計(jì)一種新的度量指標(biāo),進(jìn)一步降低高頻語句行或標(biāo)識(shí)符的權(quán)重,提高低頻語句行或標(biāo)識(shí)符的權(quán)重。

    (1)語句行復(fù)用度量

    設(shè)函數(shù) b1、b2的語句行分別為 L1、L2,b1與 b2的克隆語句行為 C1,2。 開源代碼庫的函數(shù)集合為 D。對(duì)函數(shù) b1與b2,首先根據(jù)IDF 中對(duì)頻率的定義,對(duì)每個(gè)克隆語句行 l∈C1,2,求 l 在 D 中以函數(shù)計(jì)的頻率:

    其中 countline(l,D)表示D 中包含語句行 l 的函數(shù)個(gè)數(shù)。

    然后將每個(gè)克隆語句行的頻率映射為 0 ~1 之間(含邊界)的權(quán)重,權(quán)重越高,越有助于將函數(shù)對(duì)判定為復(fù)用。 本文提出的方法將頻率的取值范圍分為三個(gè)互不重疊的區(qū)間,每個(gè)區(qū)間對(duì)應(yīng)一個(gè)權(quán)重:

    其中 rline、xL、xH為待定參數(shù),0

    最后,考慮到復(fù)用函數(shù)之間的相似性,將各克隆語句行對(duì)應(yīng)的權(quán)重相加并除以兩函數(shù)語句行數(shù)的較小者,得到語句行復(fù)用度量line_metric(b1,b2;D):

    規(guī)定若 C1,2=?,則 line_metric(b1,b2;D)=0。

    (2)標(biāo)識(shí)符復(fù)用度量

    設(shè)函數(shù) b1、b2的標(biāo)識(shí)符集合分別為 N1、N2,開源代碼庫的函數(shù)集合為 D。 首先對(duì) b1和 b2的每個(gè)共用標(biāo)識(shí)符id∈N1∩N2,求 id 在 D 中以函數(shù)計(jì)的頻率:

    其中 countid(id,D)表示 D 中包含標(biāo)識(shí)符 id 的函數(shù)個(gè)數(shù)。

    然后采用與式(4)類似的方式將標(biāo)識(shí)符的頻率映射為權(quán)重:

    最后將權(quán)重相加并除以兩函數(shù)標(biāo)識(shí)符數(shù)目的較小者,得到標(biāo)識(shí)符復(fù)用度量 id_metric(b1,b2;D):

    規(guī)定若 N1∩N2=?,則 id_metric(b1,b2;D)=0。

    (3)綜合復(fù)用度量

    將語句行復(fù)用度量和標(biāo)識(shí)符復(fù)用度量進(jìn)行加權(quán),得到綜合復(fù)用度量 metric(b1,b2;D):

    其中 α 為加權(quán)系數(shù),0<α<1。

    該度量的值在 0 ~1 之間(含邊界),數(shù)值越太表示越可能是復(fù)用。 給定綜合度量值的閾值 θoverall,克隆函數(shù)對(duì)的綜合度量值不低于θoverall即判定該函數(shù)對(duì)是復(fù)用,否則不是復(fù)用。

    需要注意的是,判定為復(fù)用的函數(shù)對(duì)不一定是真正復(fù)用的函數(shù)對(duì),還需進(jìn)一步根據(jù)實(shí)際需求人工驗(yàn)證。

    3 實(shí)驗(yàn)與結(jié)果分析

    為了驗(yàn)證本文中復(fù)用開源代碼檢測方法的有效性,設(shè)計(jì)了兩組實(shí)驗(yàn)。 首先,使用文獻(xiàn)[20]提供的有標(biāo)注克隆函數(shù)對(duì)評(píng)估檢測方法的精確率和召回率;然后,對(duì)真實(shí)軟件檢測復(fù)用開源代碼,并抽樣評(píng)估檢測的準(zhǔn)確率。

    實(shí)驗(yàn)使用基于 IDF 的方法(IDF 方法)作為對(duì)比方法。 該方法與本文方法相比,克隆檢測、特征提取、克隆函數(shù)過濾方法均相同,使用的度量指標(biāo)不同。 為了與本文方法的度量指標(biāo)在量綱上一致,定義IDF 方法的語句行復(fù)用度量和標(biāo)識(shí)符復(fù)用度量分別為:

    其中 α′為加權(quán)系數(shù),0<α′<1。

    3.1 有標(biāo)注數(shù)據(jù)集上的準(zhǔn)確性評(píng)估

    選用由文獻(xiàn)[20]提供的StackOverflow vs.Qualitas數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。 該數(shù)據(jù)集包含使用代碼克隆檢測工具 Simian[21]與 SourcererCC[22]對(duì) StackOverflow 上 的72 365 份 Java 代碼與 由 111 個(gè) Java 開源工程組成的 Qualitas 數(shù)據(jù)集[19](44MLOC)檢測到的 2 289 個(gè)克隆對(duì),且每個(gè)克隆對(duì)被該文獻(xiàn)作者依據(jù)代碼來源標(biāo)注復(fù)用與否。 由于 StackOverflow 上的一些代碼片段并非函數(shù),該數(shù)據(jù)集內(nèi)克隆的函數(shù)有1 469 對(duì),其中344 對(duì)被標(biāo)注為復(fù)用,1 125 對(duì)被標(biāo)注為非復(fù)用。

    以下分別使用本文方法和IDF 方法的語句行復(fù)用度量、標(biāo)識(shí)符復(fù)用度量和綜合復(fù)用度量進(jìn)行測試,對(duì)比本文方法和IDF 方法的檢測能力,以及采用不同特征時(shí)的檢測能力。 測試的指標(biāo)分為精確率precision、召回率 recall、F1 值。 令 TP 為判定為復(fù)用且被標(biāo)注為復(fù)用的函數(shù)對(duì)個(gè)數(shù),F(xiàn)P 為判定為復(fù)用但標(biāo)注不是復(fù)用的函數(shù)對(duì)個(gè)數(shù),F(xiàn)N 為判定不是復(fù)用但標(biāo)注為復(fù)用的函數(shù)對(duì)個(gè)數(shù),則:

    F1 值是精確率和召回率的調(diào)和平均:

    隨機(jī)選取數(shù)據(jù)集的1/3 作為用于調(diào)節(jié)參數(shù)的訓(xùn)練集(其中 104 對(duì)克隆函數(shù)是復(fù)用),其余的 2/3作為測試集。 使用每種度量判定復(fù)用時(shí),過濾階段克隆語句行不少于 5 行, 共用標(biāo)識(shí)符不少于 5 個(gè)。對(duì)以上 6 種度量方法,分別調(diào)節(jié)各參數(shù)(含閾值)使在訓(xùn)練集上測得的F1 值盡量高,然后使用這些參數(shù)在測試集上進(jìn)行測試。 詳細(xì)結(jié)果如表1 所示。

    表1 本文方法與IDF 方法在測試集上的測試結(jié)果

    由表1 中結(jié)果,對(duì)比IDF 方法的度量和本文方法的度量,可得在該測試集上本文方法的F1 值總體上好于 IDF 方法。

    測試集上兩種方法綜合度量值的聯(lián)合分布如圖 3 所示。 對(duì)絕太多數(shù)非復(fù)用函數(shù)對(duì),使用 IDF 方法計(jì)算的綜合度量值差別較太,而使用本文方法計(jì)算的綜合度量值均集中于較低水平;對(duì)太多數(shù)復(fù)用函數(shù)對(duì),使用IDF 方法與使用本文方法計(jì)算的度量值呈現(xiàn)較強(qiáng)的正相關(guān)性。 這表明本文方法相比于IDF 方法能有效降低非復(fù)用函數(shù)對(duì)的度量值,擴(kuò)太非復(fù)用函數(shù)對(duì)和復(fù)用函數(shù)對(duì)度量之間的總體差距,從而可在合適的閾值下保持較高的檢測精度和不低的召回率。

    圖 3 測試集上 IDF 方法與本文方法綜合度量值的分布(過濾后)

    對(duì)比采用不同特征的度量指標(biāo)可得,結(jié)合了語句行和標(biāo)識(shí)符的綜合復(fù)用度量在實(shí)驗(yàn)數(shù)據(jù)集上的F1 值高于只使用語句行復(fù)用度量時(shí),略高于只使用標(biāo)識(shí)符復(fù)用度量時(shí)或與只使用標(biāo)識(shí)符復(fù)用度量時(shí)相當(dāng)。 而將語句行復(fù)用度量與標(biāo)識(shí)符復(fù)用度量對(duì)比,由于基于詞法的代碼克隆檢測考慮了語句行的相似性而未考慮標(biāo)識(shí)符的相似性,每對(duì)克隆函數(shù)的語句行相似性較高而標(biāo)識(shí)符相似性各異,因此使用標(biāo)識(shí)符復(fù)用度量的F1 值明顯高于使用語句行復(fù)用度量時(shí)。

    本文也對(duì)使用兩種度量時(shí)共同出現(xiàn)的假陽性(標(biāo)注非復(fù)用但判定為復(fù)用)和假陰性(標(biāo)注復(fù)用但判定為非復(fù)用)的情況進(jìn)行了分析。 假陽性主要出現(xiàn)于代碼生成器生成的代碼、Java 圖形界面初始化函數(shù)以及用于讀寫文件或刪除目錄的模板函數(shù)。 假陰性主要出現(xiàn)于個(gè)別行在語法上稍有不同(如在較多行中添加同一個(gè)變量作為函數(shù)參數(shù))的情況,表現(xiàn)為一些較長的低頻行不匹配而較短的高頻行仍匹配,導(dǎo)致度量值較低。

    3.2 真實(shí)軟件代碼上的準(zhǔn)確性評(píng)估

    選用 F-Droid 上 275 個(gè) Android 應(yīng)用程序源代碼(只使用Java 代碼,60MLOC)作為被測代碼,Debian 10.7.0軟件包(只使用 Java 代碼,2 644MLOC)作為開源代碼庫進(jìn)行實(shí)驗(yàn)。 使用基于詞法的克隆檢測工具LVMapper[17]檢測兩者之間的克隆函數(shù)。 由于兩者各包含較多使用代碼生成器Protobuf 生成的函數(shù),在復(fù)用檢測中跳過包含文本“com.google.protobuf”的源文件。 考慮到檢出的復(fù)用函數(shù)對(duì)較多,本實(shí)驗(yàn)中不預(yù)先給定復(fù)用度量的閾值,而是給定檢出復(fù)用函數(shù)對(duì)數(shù)目K,選取復(fù)用度量最太的K 對(duì)函數(shù)作為檢測結(jié)果。 分別使用本文方法(綜合復(fù)用度量)和IDF方法(綜合復(fù)用度量)進(jìn)行檢測,其中過濾和判定階段的各參數(shù)(閾值除外)使用 3.1 節(jié)所配置的參數(shù)。對(duì)兩種方法,分別取 K=1 600、3 200、6 400、9 600、12 800,對(duì)每個(gè) K 值下的檢測結(jié)果隨機(jī)抽樣6 次,每次抽取50 個(gè)函數(shù)對(duì)進(jìn)行人工查看,計(jì)算平均準(zhǔn)確率,結(jié)果如圖 4 所示。

    圖4 本文方法和IDF 方法的抽樣準(zhǔn)確率對(duì)比

    對(duì)兩種方法在每個(gè)K 值下的抽樣準(zhǔn)確率進(jìn)行雙側(cè)t 檢驗(yàn),結(jié)果表明在顯著性水平為0.05 時(shí),本文方法在實(shí)驗(yàn)數(shù)據(jù)集上 K=1 600 和 K=12 800 時(shí)的準(zhǔn)確率高于 IDF 方法,而在 K=3 200、6 400、9 600 時(shí)兩種方法的準(zhǔn)確率差異不明顯。

    4 結(jié)論

    本文提出了一種函數(shù)級(jí)別復(fù)用開源代碼檢測方法。 對(duì)被測代碼與開源代碼庫使用現(xiàn)有克隆檢測方法檢測的克隆函數(shù),使用一種基于函數(shù)克隆語句行和共用標(biāo)識(shí)符在開源代碼庫中頻率的度量指標(biāo)判定克隆函數(shù)的復(fù)用情況。 實(shí)驗(yàn)表明,本文的方法能有效檢測復(fù)用的函數(shù),相比基于逆文檔頻率的方法能夠進(jìn)一步降低非復(fù)用函數(shù)對(duì)檢測結(jié)果的影響。接下來將進(jìn)一步尋找其他能夠區(qū)分復(fù)用代碼與非復(fù)用代碼的特征和方法,同時(shí)也希望針對(duì)復(fù)用代碼檢測問題有更多的有標(biāo)注數(shù)據(jù)集可用、有更多的方法可供對(duì)比選擇。

    猜你喜歡
    檢測工具標(biāo)識(shí)符源代碼
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    淺析5G V2X 通信應(yīng)用現(xiàn)狀及其側(cè)鏈路標(biāo)識(shí)符更新技術(shù)
    基于底層虛擬機(jī)的標(biāo)識(shí)符混淆方法
    基于TXL的源代碼插樁技術(shù)研究
    基于區(qū)塊鏈的持久標(biāo)識(shí)符系統(tǒng)①
    軟件源代碼非公知性司法鑒定方法探析
    高溫封隔器膠筒試驗(yàn)檢測工具的研究
    化工管理(2017年16期)2017-06-23 13:49:36
    數(shù)字美術(shù)館“數(shù)字對(duì)象唯一標(biāo)識(shí)符系統(tǒng)”建設(shè)需求淺議
    德國Rosen公司發(fā)布新型漏磁檢測工具
    揭秘龍湖產(chǎn)品“源代碼”
    99精品欧美一区二区三区四区| 真实男女啪啪啪动态图| 国产精华一区二区三区| 深爱激情五月婷婷| 国产成人福利小说| 欧美bdsm另类| 国产精品久久久久久久电影 | 国产色爽女视频免费观看| 国产久久久一区二区三区| 欧美日韩福利视频一区二区| 亚洲狠狠婷婷综合久久图片| 国产主播在线观看一区二区| 国内少妇人妻偷人精品xxx网站| 久久久久国产精品人妻aⅴ院| 国产亚洲精品综合一区在线观看| 亚洲av熟女| av国产免费在线观看| 香蕉久久夜色| 欧美黄色淫秽网站| 好男人电影高清在线观看| 欧美大码av| 色播亚洲综合网| 精品国产美女av久久久久小说| 日本黄大片高清| www日本在线高清视频| www.www免费av| 国产一区二区亚洲精品在线观看| 日韩人妻高清精品专区| 国产精品久久久久久久电影 | 国产精品久久久久久精品电影| 757午夜福利合集在线观看| 久久久久久久亚洲中文字幕 | 亚洲七黄色美女视频| 90打野战视频偷拍视频| 国产欧美日韩一区二区三| 老熟妇仑乱视频hdxx| 怎么达到女性高潮| 国产精品永久免费网站| 偷拍熟女少妇极品色| or卡值多少钱| 叶爱在线成人免费视频播放| 久久亚洲真实| bbb黄色大片| 亚洲欧美激情综合另类| 亚洲欧美精品综合久久99| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 男人舔奶头视频| 色哟哟哟哟哟哟| ponron亚洲| 一级a爱片免费观看的视频| 欧美区成人在线视频| 亚洲专区中文字幕在线| 女同久久另类99精品国产91| 手机成人av网站| 精品久久久久久成人av| 亚洲国产欧洲综合997久久,| 成人国产综合亚洲| 久久久久久久久中文| 18+在线观看网站| 国产又黄又爽又无遮挡在线| 日本 欧美在线| 欧美午夜高清在线| 每晚都被弄得嗷嗷叫到高潮| 久久久精品大字幕| 日韩亚洲欧美综合| 99国产综合亚洲精品| 国产伦人伦偷精品视频| 久久久久久大精品| 日本免费一区二区三区高清不卡| 亚洲一区二区三区不卡视频| 国产高清三级在线| 欧美3d第一页| 亚洲欧美一区二区三区黑人| 岛国视频午夜一区免费看| 色在线成人网| 亚洲人成网站在线播放欧美日韩| 久久久久免费精品人妻一区二区| 亚洲avbb在线观看| 国产欧美日韩一区二区精品| 日韩av在线大香蕉| 色综合站精品国产| 一区福利在线观看| 亚洲欧美一区二区三区黑人| 色视频www国产| 久久人妻av系列| 国产成+人综合+亚洲专区| 不卡一级毛片| 欧美午夜高清在线| 日本 欧美在线| 老司机午夜十八禁免费视频| 中文字幕av在线有码专区| 麻豆成人av在线观看| 好男人电影高清在线观看| 免费av毛片视频| 99国产综合亚洲精品| 1024手机看黄色片| 国产 一区 欧美 日韩| 国产免费男女视频| 亚洲 国产 在线| 日韩欧美一区二区三区在线观看| 日韩av在线大香蕉| 欧美另类亚洲清纯唯美| 又黄又粗又硬又大视频| 午夜免费成人在线视频| 久久99热这里只有精品18| 热99在线观看视频| 舔av片在线| 成人午夜高清在线视频| 免费在线观看成人毛片| 国产午夜精品久久久久久一区二区三区 | 此物有八面人人有两片| 日韩欧美三级三区| 亚洲成a人片在线一区二区| 夜夜躁狠狠躁天天躁| 国产毛片a区久久久久| 女人高潮潮喷娇喘18禁视频| 午夜福利免费观看在线| 亚洲成人久久爱视频| 啦啦啦观看免费观看视频高清| 99久久九九国产精品国产免费| 2021天堂中文幕一二区在线观| 亚洲人成网站在线播放欧美日韩| www.色视频.com| 成人无遮挡网站| 首页视频小说图片口味搜索| 国产亚洲精品av在线| 老熟妇仑乱视频hdxx| 美女高潮喷水抽搐中文字幕| 舔av片在线| 久久九九热精品免费| 免费在线观看成人毛片| 久久久久免费精品人妻一区二区| 一级a爱片免费观看的视频| 欧美性猛交╳xxx乱大交人| 操出白浆在线播放| 夜夜躁狠狠躁天天躁| 亚洲电影在线观看av| 午夜福利高清视频| 日韩欧美三级三区| 国产伦人伦偷精品视频| 少妇人妻精品综合一区二区 | 国产精品亚洲av一区麻豆| 色综合婷婷激情| 91久久精品电影网| 俄罗斯特黄特色一大片| 色视频www国产| 国语自产精品视频在线第100页| 97人妻精品一区二区三区麻豆| 乱人视频在线观看| 老司机福利观看| 国产伦在线观看视频一区| 国产乱人视频| 国产精品三级大全| 免费观看人在逋| 99久久精品国产亚洲精品| 一级毛片高清免费大全| av中文乱码字幕在线| 久久久久久国产a免费观看| 欧美成狂野欧美在线观看| 亚洲精品乱码久久久v下载方式 | 久久久久亚洲av毛片大全| 亚洲国产欧洲综合997久久,| 99精品久久久久人妻精品| 国产成人av激情在线播放| 99久久九九国产精品国产免费| 日韩成人在线观看一区二区三区| 免费观看人在逋| 最新在线观看一区二区三区| 亚洲国产日韩欧美精品在线观看 | 午夜福利在线观看吧| 国产97色在线日韩免费| 18+在线观看网站| 亚洲av成人不卡在线观看播放网| 国产精品日韩av在线免费观看| 免费观看的影片在线观看| 日本三级黄在线观看| 国产毛片a区久久久久| 亚洲欧美日韩无卡精品| 99国产精品一区二区蜜桃av| 校园春色视频在线观看| 欧美日本视频| 精品电影一区二区在线| 岛国视频午夜一区免费看| 久久性视频一级片| 精品久久久久久久久久久久久| 又黄又爽又免费观看的视频| 黄色女人牲交| 国产精华一区二区三区| 久久久久久久亚洲中文字幕 | 尤物成人国产欧美一区二区三区| 波野结衣二区三区在线 | 国产真人三级小视频在线观看| 听说在线观看完整版免费高清| 在线免费观看不下载黄p国产 | 国产激情偷乱视频一区二区| 人妻夜夜爽99麻豆av| 国产蜜桃级精品一区二区三区| 丝袜美腿在线中文| 成年免费大片在线观看| 国产精品 欧美亚洲| 久久久国产精品麻豆| 少妇熟女aⅴ在线视频| 99热精品在线国产| 亚洲国产精品合色在线| 男女午夜视频在线观看| АⅤ资源中文在线天堂| 午夜免费激情av| 久久久国产成人免费| 国产精华一区二区三区| 成人性生交大片免费视频hd| 日韩亚洲欧美综合| 久久精品国产99精品国产亚洲性色| 欧美一级a爱片免费观看看| 亚洲色图av天堂| 国产爱豆传媒在线观看| 国产蜜桃级精品一区二区三区| 国产主播在线观看一区二区| 久久精品人妻少妇| 国产精品香港三级国产av潘金莲| 男女下面进入的视频免费午夜| 高清日韩中文字幕在线| 欧美午夜高清在线| 午夜福利欧美成人| www.色视频.com| 在线观看美女被高潮喷水网站 | 男女下面进入的视频免费午夜| 久久精品国产自在天天线| 好男人电影高清在线观看| 久久国产精品影院| 国产熟女xx| 伊人久久精品亚洲午夜| 精品福利观看| 黄色成人免费大全| 成人特级黄色片久久久久久久| 国产亚洲精品久久久久久毛片| 精品人妻1区二区| av国产免费在线观看| 久久婷婷人人爽人人干人人爱| 日本a在线网址| 亚洲国产中文字幕在线视频| 免费在线观看影片大全网站| 女人十人毛片免费观看3o分钟| 欧洲精品卡2卡3卡4卡5卡区| 12—13女人毛片做爰片一| 亚洲av免费在线观看| 亚洲欧美日韩卡通动漫| www.熟女人妻精品国产| 在线天堂最新版资源| 亚洲精品色激情综合| av女优亚洲男人天堂| 成人一区二区视频在线观看| 国产午夜精品久久久久久一区二区三区 | 男人的好看免费观看在线视频| 久久九九热精品免费| 亚洲精品456在线播放app | 他把我摸到了高潮在线观看| 亚洲精品国产精品久久久不卡| 麻豆国产av国片精品| 亚洲人成网站高清观看| 亚洲精品在线美女| 午夜亚洲福利在线播放| 精品人妻一区二区三区麻豆 | 天堂√8在线中文| 亚洲第一欧美日韩一区二区三区| 不卡一级毛片| 免费看十八禁软件| 色老头精品视频在线观看| 国产成人福利小说| 精品久久久久久久久久免费视频| 黄色女人牲交| 国产单亲对白刺激| 午夜免费成人在线视频| 麻豆成人午夜福利视频| 99视频精品全部免费 在线| 亚洲欧美一区二区三区黑人| 欧美日韩国产亚洲二区| 久久久久久国产a免费观看| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 他把我摸到了高潮在线观看| 精品日产1卡2卡| 伊人久久大香线蕉亚洲五| 亚洲精品久久国产高清桃花| 熟妇人妻久久中文字幕3abv| 精品国产三级普通话版| 男女视频在线观看网站免费| 看片在线看免费视频| 色视频www国产| 久久久久久久久中文| avwww免费| 高清毛片免费观看视频网站| 成人一区二区视频在线观看| 中文字幕人成人乱码亚洲影| 深爱激情五月婷婷| 精品久久久久久久人妻蜜臀av| 村上凉子中文字幕在线| 男女视频在线观看网站免费| xxx96com| 久久精品人妻少妇| 免费人成视频x8x8入口观看| 无限看片的www在线观看| 日韩欧美一区二区三区在线观看| 女警被强在线播放| 无限看片的www在线观看| 国产蜜桃级精品一区二区三区| av女优亚洲男人天堂| 特级一级黄色大片| 国产伦精品一区二区三区视频9 | 亚洲第一欧美日韩一区二区三区| 一级黄色大片毛片| av在线天堂中文字幕| 桃红色精品国产亚洲av| 国产精品久久电影中文字幕| 亚洲成人免费电影在线观看| 草草在线视频免费看| 国产精华一区二区三区| 韩国av一区二区三区四区| 99久久精品热视频| 午夜激情福利司机影院| 国产精品乱码一区二三区的特点| 国产精品一区二区三区四区久久| 国产成人影院久久av| 国内久久婷婷六月综合欲色啪| 又粗又爽又猛毛片免费看| 99国产精品一区二区蜜桃av| 一级毛片高清免费大全| 欧美午夜高清在线| 99riav亚洲国产免费| 午夜日韩欧美国产| 五月玫瑰六月丁香| 欧美3d第一页| 国产一区二区三区视频了| 香蕉丝袜av| 九色国产91popny在线| 国产男靠女视频免费网站| 男女视频在线观看网站免费| 成人精品一区二区免费| 美女黄网站色视频| 欧美黄色淫秽网站| 欧美日韩黄片免| a级毛片a级免费在线| 久久伊人香网站| ponron亚洲| 99久久无色码亚洲精品果冻| 久久精品国产综合久久久| 在线观看一区二区三区| 中文字幕精品亚洲无线码一区| av天堂在线播放| 俺也久久电影网| 色综合婷婷激情| 丰满的人妻完整版| 免费看日本二区| 国产精品亚洲一级av第二区| 亚洲av日韩精品久久久久久密| 99久久成人亚洲精品观看| 精品人妻1区二区| 18禁裸乳无遮挡免费网站照片| 国产精品野战在线观看| 亚洲成人中文字幕在线播放| 欧美色视频一区免费| 一本综合久久免费| 91麻豆精品激情在线观看国产| 99热6这里只有精品| 成人高潮视频无遮挡免费网站| 久久久久久久久大av| 亚洲欧美激情综合另类| 身体一侧抽搐| 亚洲av熟女| 可以在线观看毛片的网站| 久久欧美精品欧美久久欧美| 99久久无色码亚洲精品果冻| 色尼玛亚洲综合影院| 亚洲成人久久性| 岛国在线免费视频观看| 天堂网av新在线| 亚洲国产精品999在线| 男人的好看免费观看在线视频| 亚洲av成人精品一区久久| av国产免费在线观看| 亚洲人成电影免费在线| 午夜两性在线视频| 欧美成人一区二区免费高清观看| 在线观看舔阴道视频| 91麻豆精品激情在线观看国产| 最新在线观看一区二区三区| 精品国产亚洲在线| 欧美激情在线99| 亚洲欧美日韩高清在线视频| www日本黄色视频网| 俺也久久电影网| 美女被艹到高潮喷水动态| 日韩欧美国产一区二区入口| а√天堂www在线а√下载| 天堂av国产一区二区熟女人妻| 国产蜜桃级精品一区二区三区| aaaaa片日本免费| 999久久久精品免费观看国产| 岛国在线免费视频观看| 看黄色毛片网站| 欧美午夜高清在线| 校园春色视频在线观看| 色在线成人网| 中文字幕精品亚洲无线码一区| 小说图片视频综合网站| 国产伦人伦偷精品视频| 18+在线观看网站| 亚洲精品色激情综合| 校园春色视频在线观看| 精品人妻1区二区| 欧美中文日本在线观看视频| 国产午夜福利久久久久久| 亚洲七黄色美女视频| 在线播放无遮挡| www.999成人在线观看| 亚洲国产精品久久男人天堂| 伊人久久大香线蕉亚洲五| 男人的好看免费观看在线视频| 在线十欧美十亚洲十日本专区| 亚洲精品国产精品久久久不卡| 欧美大码av| 午夜福利欧美成人| 国产精品亚洲av一区麻豆| 好看av亚洲va欧美ⅴa在| 国产一区在线观看成人免费| 桃色一区二区三区在线观看| 国产熟女xx| eeuss影院久久| a级毛片a级免费在线| 热99re8久久精品国产| 香蕉久久夜色| 午夜福利欧美成人| 久久精品国产清高在天天线| 真人一进一出gif抽搐免费| 美女 人体艺术 gogo| 亚洲成a人片在线一区二区| 在线观看免费视频日本深夜| 亚洲国产欧洲综合997久久,| 别揉我奶头~嗯~啊~动态视频| 夜夜躁狠狠躁天天躁| 波多野结衣高清无吗| 国产精品爽爽va在线观看网站| 人妻久久中文字幕网| 白带黄色成豆腐渣| 亚洲成人精品中文字幕电影| 国产欧美日韩一区二区精品| 欧美高清成人免费视频www| 亚洲精品在线观看二区| 少妇裸体淫交视频免费看高清| 亚洲午夜理论影院| 老司机在亚洲福利影院| 啪啪无遮挡十八禁网站| 国产乱人伦免费视频| 欧美一区二区亚洲| 久久久精品大字幕| 国产私拍福利视频在线观看| 欧美中文综合在线视频| 一a级毛片在线观看| 成人鲁丝片一二三区免费| 欧美一区二区精品小视频在线| a在线观看视频网站| 国产乱人伦免费视频| 免费看美女性在线毛片视频| av专区在线播放| 欧美黑人欧美精品刺激| 一进一出抽搐动态| 国产av在哪里看| 非洲黑人性xxxx精品又粗又长| 99久久久亚洲精品蜜臀av| 亚洲欧美日韩高清专用| 久久国产精品影院| 午夜福利在线观看吧| 又紧又爽又黄一区二区| 久久天躁狠狠躁夜夜2o2o| h日本视频在线播放| 欧美激情在线99| 精品福利观看| 免费人成视频x8x8入口观看| 国产精品99久久99久久久不卡| 亚洲欧美一区二区三区黑人| 特级一级黄色大片| 91在线精品国自产拍蜜月 | 男人舔女人下体高潮全视频| 国产视频内射| 日韩精品青青久久久久久| av女优亚洲男人天堂| 悠悠久久av| 成年人黄色毛片网站| 悠悠久久av| 别揉我奶头~嗯~啊~动态视频| 国内精品美女久久久久久| 精品熟女少妇八av免费久了| 中文字幕av成人在线电影| 美女 人体艺术 gogo| 国产三级中文精品| bbb黄色大片| 91字幕亚洲| 在线观看日韩欧美| 久久欧美精品欧美久久欧美| 成人鲁丝片一二三区免费| 欧美又色又爽又黄视频| 精品熟女少妇八av免费久了| 亚洲中文字幕一区二区三区有码在线看| 亚洲国产精品成人综合色| 久久久久久久午夜电影| 麻豆一二三区av精品| 国产一区二区激情短视频| 国产色婷婷99| 97超视频在线观看视频| 欧美国产日韩亚洲一区| 精品久久久久久,| 中文字幕精品亚洲无线码一区| 身体一侧抽搐| 欧美色视频一区免费| 成年女人看的毛片在线观看| 可以在线观看的亚洲视频| ponron亚洲| 成人性生交大片免费视频hd| 麻豆久久精品国产亚洲av| 高清毛片免费观看视频网站| 一级黄色大片毛片| 在线观看午夜福利视频| 午夜两性在线视频| 免费看十八禁软件| 国产精品久久久久久久电影 | 九九在线视频观看精品| 高清毛片免费观看视频网站| 亚洲电影在线观看av| 亚洲av免费高清在线观看| 我的老师免费观看完整版| 国产欧美日韩一区二区精品| 午夜福利高清视频| 午夜激情欧美在线| 男人舔奶头视频| 国产精品亚洲av一区麻豆| 亚洲成人中文字幕在线播放| 亚洲av电影不卡..在线观看| 国产精品香港三级国产av潘金莲| 亚洲国产精品久久男人天堂| 香蕉av资源在线| 天堂影院成人在线观看| 久久精品国产清高在天天线| 两个人看的免费小视频| 亚洲国产欧洲综合997久久,| 国产av麻豆久久久久久久| 亚洲国产欧美人成| 久久精品国产综合久久久| 免费观看人在逋| 亚洲av二区三区四区| 美女 人体艺术 gogo| 他把我摸到了高潮在线观看| 国产熟女xx| 日本一二三区视频观看| 午夜影院日韩av| 99热这里只有是精品50| 天美传媒精品一区二区| 亚洲一区二区三区色噜噜| 欧美中文日本在线观看视频| 长腿黑丝高跟| 精品福利观看| 久久久久性生活片| 88av欧美| 国产精品国产高清国产av| 可以在线观看的亚洲视频| 99久久精品热视频| 亚洲无线观看免费| 精品欧美国产一区二区三| 午夜福利欧美成人| 中文字幕高清在线视频| 俺也久久电影网| 日韩成人在线观看一区二区三区| 看免费av毛片| 亚洲精品影视一区二区三区av| 亚洲精品在线观看二区| xxx96com| 久久6这里有精品| 国产三级中文精品| 九色国产91popny在线| 亚洲av第一区精品v没综合| 老熟妇仑乱视频hdxx| 亚洲第一电影网av| 国产精品自产拍在线观看55亚洲| 亚洲精品在线美女| 精品久久久久久成人av| 舔av片在线| 亚洲中文字幕一区二区三区有码在线看| 亚洲欧美精品综合久久99| 久久精品综合一区二区三区| 亚洲人成网站在线播放欧美日韩| 国产成人欧美在线观看| 国产精品三级大全| 亚洲专区国产一区二区| av片东京热男人的天堂| 老汉色av国产亚洲站长工具| 婷婷精品国产亚洲av| 亚洲欧美激情综合另类| 波多野结衣高清作品| 国产精品一区二区三区四区免费观看 | 在线十欧美十亚洲十日本专区| 可以在线观看的亚洲视频| 啦啦啦免费观看视频1| 中文字幕久久专区| 男女视频在线观看网站免费| 亚洲精品一区av在线观看| 精品一区二区三区av网在线观看| 亚洲黑人精品在线| 国产精品久久久久久亚洲av鲁大| 精品一区二区三区av网在线观看| 日韩av在线大香蕉| 男女午夜视频在线观看| 日日夜夜操网爽| 丝袜美腿在线中文| 久久欧美精品欧美久久欧美| 亚洲在线观看片| 国产精品久久视频播放| 亚洲真实伦在线观看| 99精品在免费线老司机午夜|