亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于耦合度和PDG混合特征的源代碼作者歸屬預(yù)測

        2021-08-06 03:23:04馮秀芳陳永樂
        關(guān)鍵詞:源代碼程序員耦合度

        陳 杰,馮秀芳,陳永樂

        (太原理工大學(xué)信息與計(jì)算機(jī)學(xué)院,山西 晉中 030600)

        1 引言

        軟件作者識(shí)別有助于在案件中對(duì)真實(shí)的作者和版權(quán)的爭議進(jìn)行裁決。代碼作者署名在文本分析、軟件著作權(quán)調(diào)查[1]、軟件剽竊檢測[2]等方面有廣泛的應(yīng)用。學(xué)術(shù)著作中作者身份歸屬預(yù)測的任務(wù)通常是出于計(jì)算機(jī)安全需求的驅(qū)動(dòng),它通過分析殘留的惡意代碼[3]識(shí)別惡意軟件程序[4]的作者。源代碼作者身份歸屬預(yù)測主要通過提取某一作者的編碼結(jié)構(gòu)特征,根據(jù)這些結(jié)構(gòu)特征分析源代碼是否由這一作者所編寫。此外,對(duì)于那些希望保持匿名的程序員來說,這是一個(gè)嚴(yán)重的隱私風(fēng)險(xiǎn)。

        軟件取證可以使用編碼樣式識(shí)別源代碼的特定作者,研究界也越來越關(guān)注通過編程風(fēng)格[5]識(shí)別作者的方式。代碼作者身份識(shí)別在學(xué)術(shù)界可以對(duì)學(xué)生編程作業(yè)進(jìn)行剽竊檢測,在商業(yè)領(lǐng)域可以對(duì)軟件著作和專利侵權(quán)進(jìn)行分析。因此,代碼作者歸屬預(yù)測在學(xué)術(shù)界和商業(yè)界具有重要的現(xiàn)實(shí)意義。本文針對(duì)源代碼的特征屬性展開研究,提出一種源代碼的作者歸屬模型。

        Figure 1 Framework of source code author identification 圖1 源代碼作者判別框架圖

        為了對(duì)代碼樣本[6]進(jìn)行作者身份識(shí)別,已有的大多數(shù)代碼作者身份識(shí)別工作都采用統(tǒng)計(jì)分析技術(shù)或基于相似性度量的排序方法。特別是Krsul等人[7]率先探索了通過檢查手工制作的編程風(fēng)格特征來識(shí)別程序作者的可能性,他們采用了一種稱為多元判別分析的統(tǒng)計(jì)分析技術(shù)來對(duì)29名程序員的代碼樣本進(jìn)行分類。文獻(xiàn)[8,9]都從源代碼中提取了n-grams特征的配置文件,給源代碼的作者進(jìn)行排名,結(jié)果表明n-grams功能也可以提取編碼風(fēng)格。

        此外,源代碼作者歸屬思想還可用于不同的編程集語言分類,如Java或C++,并獲得了較好的準(zhǔn)確率。Dauber等人[10]提出了一種利用代碼抽象語法樹AST(Abstract Syntax Tree)來識(shí)別源代碼作者的技術(shù),將源代碼作者歸屬建模為一個(gè)機(jī)器學(xué)習(xí)問題,通過向分類器提供抽象語法樹中的特征來分類代碼的作者。

        Abuhamad等人[11]使用權(quán)重分析方法從代碼樣本中提取穩(wěn)健的作者屬性,然后利用作者屬性構(gòu)造隨機(jī)森林分類器,并證明該模型的可行性。Ullah等人[12]提出了一種基于深度學(xué)習(xí)的程序依賴圖方法來識(shí)別不同程序源代碼的作者,對(duì)1 000名程序員數(shù)據(jù)的識(shí)別結(jié)果明顯優(yōu)于現(xiàn)有的作者身份判別技術(shù)。文獻(xiàn)[13]提取了AST中的路徑特征,然后分別采用隨機(jī)森林和code2vec網(wǎng)絡(luò)對(duì)50個(gè)項(xiàng)目包含的代碼進(jìn)行作者判別,并指出時(shí)間環(huán)境對(duì)作者歸屬具有較大的影響。

        盡管前面的工作已經(jīng)證明特征提取和深度學(xué)習(xí)結(jié)合的方法提高了源代碼作者歸屬的效率和準(zhǔn)確率,但該方法仍有一些不足之處。之前關(guān)于作者歸屬研究僅僅是對(duì)詞法、句法、語法和語義的特征提取,并沒有對(duì)整個(gè)程序的各個(gè)模塊間的關(guān)聯(lián)程度(即耦合度(Coupling))[14]進(jìn)行分析。然而,模塊與模塊之間有些操作是有關(guān)聯(lián)的,如果改動(dòng)一個(gè)模塊,其他的模塊都有可能受到影響,模塊與模塊之間的關(guān)系越是緊密,獨(dú)立性就越差,程序的耦合度就越高,這段程序?qū)懙镁驮讲?。由此可以得出,一個(gè)程序的模塊關(guān)聯(lián)程度能夠很好地反映一個(gè)作者的編碼水平。因此,本文采用代碼的耦合度和轉(zhuǎn)換的程序依賴圖PDG(Program Dependence Graph)特性結(jié)合的方式,提取每段源代碼的屬性特征,并嵌入到深度學(xué)習(xí)的模型去訓(xùn)練,以提高作者身份判別的準(zhǔn)確率。本文利用3種編程語言對(duì)本文模型進(jìn)行了評(píng)估,以探究耦合度這一特征在作者歸屬的判別中的作用。

        2 源代碼作者歸屬判別框架

        本節(jié)主要介紹源代碼屬性的特征表示方法和提取過程,如圖1所示。

        首先,從不同的源代碼(即C++,Java,Python)中提取耦合度的特征并將其量化,它代表了源代碼的各個(gè)模塊間的耦合程度;其次,從源代碼中提取程序依賴圖特性,即數(shù)據(jù)流和控制流,這些是可以提取的高質(zhì)量數(shù)據(jù)變化和控制流功能特征,代表著不同語句之間如何處理數(shù)據(jù)以及如何控制數(shù)據(jù)在不同語句之間轉(zhuǎn)移,顯示了不同編程代碼隱藏模式的重要特征。將PDG圖中的數(shù)據(jù)流和控制流轉(zhuǎn)換成路徑的令牌表示,并用詞頻-逆文檔頻率TF-IDF(Term Frequency-Inverse Document Frequency)方法分析權(quán)重。然后,將得到的耦合度與PDG特征合并生成代碼的向量表示,最后采用本文提出的基于代碼耦合度和PDG特征的神經(jīng)網(wǎng)絡(luò)模型CPNN (Coupling Program Neural Network)進(jìn)行訓(xùn)練和預(yù)測。具體操作流程如下所示:

        (1)研究源代碼的預(yù)處理,規(guī)范化表現(xiàn)形式以及消除不明顯特征,如特殊符號(hào)、數(shù)字、停止字和標(biāo)點(diǎn)符號(hào);

        (2)使用代碼生成包含數(shù)據(jù)流和控制流的程序依賴圖,然后從PDG圖中獲取代碼的依賴關(guān)系信息和函數(shù)調(diào)用信息;

        (3)使用代碼工具從源代碼中提取參數(shù)個(gè)數(shù)、全局變量等指標(biāo),使用耦合公式計(jì)算代碼耦合度;

        (4)將PDG的信息和耦合度通過令牌的方式轉(zhuǎn)換得到特征向量,把得到的特征向量嵌入到神經(jīng)網(wǎng)絡(luò)中訓(xùn)練模型,并評(píng)價(jià)模型的準(zhǔn)確率和F值大?。?/p>

        (5)用測試集驗(yàn)證模型判別作者屬性的準(zhǔn)確率,并對(duì)源代碼作者歸屬進(jìn)行判別。

        3 源代碼特征提取

        本節(jié)主要描述源代碼特征提取的細(xì)節(jié)與方法,包括模塊間的耦合度特征提取、PDG特性提取及其權(quán)值分析。

        3.1 耦合度特征提取

        耦合性也叫耦合度,是對(duì)模塊間關(guān)聯(lián)程度的度量。模塊間的耦合度是指模塊之間的依賴關(guān)系,包括控制關(guān)系、調(diào)用關(guān)系和數(shù)據(jù)傳遞關(guān)系。模塊間聯(lián)系越多,其耦合性越強(qiáng)。耦合的強(qiáng)弱取決于模塊間接口的復(fù)雜性、調(diào)用模塊的方式和通過界面?zhèn)魉蛿?shù)據(jù)的多少。

        接口的復(fù)雜性指標(biāo)由輸入數(shù)據(jù)參數(shù)個(gè)數(shù)、輸出數(shù)據(jù)參數(shù)個(gè)數(shù)、輸入控制參數(shù)個(gè)數(shù)和輸出控制參數(shù)個(gè)數(shù)決定。模塊調(diào)用方式由用來存儲(chǔ)數(shù)據(jù)的全局變量和用來控制的全局變量決定。傳送數(shù)據(jù)的多少由扇入扇出決定。因此,采用以下方法量化耦合度:

        (1)用極差法將數(shù)據(jù)標(biāo)準(zhǔn)化。

        程序的接口復(fù)雜度越高、數(shù)據(jù)傳輸量越大、模塊間調(diào)用越頻繁,模塊間耦合度就越高,因此呈正相關(guān)。正相關(guān)標(biāo)準(zhǔn)化如式(1)所示:

        (1)

        其中,xi表示每個(gè)模塊中輸入輸出數(shù)據(jù)參數(shù)的數(shù)量,mini表示參數(shù)數(shù)量的最小值,maxi表示參數(shù)數(shù)量的最大值。

        (2)主成分分析,得到指標(biāo)權(quán)重。

        ①去平均值(即去中心化),即標(biāo)準(zhǔn)化后的每一個(gè)數(shù)據(jù)減去該模塊數(shù)據(jù)的平均值;

        ④對(duì)特征值從大到小排序,選擇其中最大的k個(gè),然后將其對(duì)應(yīng)的k個(gè)特征向量分別作為行向量組成特征矩陣P;

        ⑤將協(xié)方差矩陣與特征矩陣相乘,建立k個(gè)特征向量的系數(shù)矩陣,即Y=PX;

        針對(duì)接口復(fù)雜度、模塊調(diào)用數(shù)和數(shù)據(jù)傳輸量3個(gè)指標(biāo),使用上述主成分分析步驟計(jì)算它們的權(quán)重。

        (3)利用求得的權(quán)重,使用式(2)~式(4)分別計(jì)算3個(gè)指標(biāo)x,y,z的評(píng)價(jià)指數(shù)f(x)、g(y)和h(z)。

        (2)

        (3)

        (4)

        其中,m表示指標(biāo)數(shù),ai,bi和ci分別表示3個(gè)指標(biāo)的權(quán)重。xi,yi和zi分別表示第i個(gè)指標(biāo)。

        (4)最后,結(jié)合式(2)~式(4)計(jì)算最終的代碼耦合度C,如式(5)所示:

        (5)

        3.2 PDG特征提取

        程序依賴圖PDG是源代碼的一種圖形表示,它包含了代碼的數(shù)據(jù)流和控制流。圖2是一段C++源代碼的PDG示例,其中節(jié)點(diǎn)表示代碼的編程表達(dá)式、變量、條件和方法調(diào)用;邊表示節(jié)點(diǎn)之間的依賴關(guān)系,即數(shù)據(jù)或控制依賴。其中數(shù)據(jù)依賴性可以用來捕獲源代碼函數(shù)的抄襲,控制流則顯示了源代碼的內(nèi)部邏輯。

        Figure 2 Control flow and data flow of PDG圖2 PDG控制流和數(shù)據(jù)流

        圖3所示為程序依賴圖的特征提取過程。首先使用預(yù)處理技術(shù)將PDG轉(zhuǎn)換為沒有噪聲數(shù)據(jù)的小實(shí)例。通過采用將PDG分解為令牌的方式,計(jì)算每個(gè)特征的頻率。其中,預(yù)處理步驟包括清理、實(shí)例、選擇和轉(zhuǎn)換。數(shù)據(jù)清洗用于刪除源代碼分類中不需要的數(shù)據(jù),如特殊數(shù)據(jù)符號(hào)、數(shù)字和標(biāo)點(diǎn)符號(hào)。轉(zhuǎn)換過程將源代碼分解為有用的功能。其中,詞干、停用詞和頻率參數(shù)用于在轉(zhuǎn)換階段提取有價(jià)值的特征,詞干提取用于把一組單詞還原成它的詞根形式,頻率信息指示每個(gè)元素在不同的源代碼中出現(xiàn)的次數(shù)。

        Figure 3 PDG feature extraction process圖3 PDG特征提取處理過程

        預(yù)處理后的PDG特征包含清洗后的信息與頻率。為了達(dá)到更精確的分類,本文將PDG實(shí)例轉(zhuǎn)換為加權(quán)特征,用于放大單個(gè)文檔和多個(gè)文檔中每個(gè)特征的重要性。然后使用局部和全局加權(quán)技術(shù)檢索每個(gè)特征的權(quán)重。例如,比較3個(gè)源代碼(C++、Java和Python)文檔時(shí),局部權(quán)重提取了一個(gè)文檔中包含的每個(gè)功能的重要性,而全局權(quán)重則反映了所有文檔中每個(gè)功能的重要性。

        這些功能有助于對(duì)每種編程樣式的每個(gè)功能進(jìn)行評(píng)分和排名。該過程為代碼作者預(yù)測提供了一個(gè)方向,即哪些特征對(duì)于準(zhǔn)確地預(yù)測更有價(jià)值。本文將TF-IDF功能用于全局權(quán)重,將術(shù)語頻率的對(duì)數(shù)用于局部權(quán)重,則術(shù)語頻率表現(xiàn)為每個(gè)令牌的出現(xiàn)次數(shù),如式(6)所示:

        (6)

        其中,tf表示詞頻,t表示詞條,f表示頻率,d表示單個(gè)文檔,ft,f表示詞條t在局部條件下的頻率。逆文檔頻率如式(7)所示:

        (7)

        其中,t表示詞條,d表示單個(gè)文檔,D代表語料庫中所有文檔的集合,N代表文檔數(shù)量。數(shù)學(xué)上TF-IDF的定義如式(8)所示:

        tfidf(t,d,D)=tf(t,d)×idf(t,D)

        (8)

        4 CPNN模型

        為了在較大的數(shù)據(jù)集上獲得更好的性能,本文改進(jìn)了word2vec[15]的神經(jīng)網(wǎng)絡(luò),提出了一種基于代碼耦合度和PDG特征結(jié)合的神經(jīng)網(wǎng)絡(luò)模型(CPNN)。與傳統(tǒng)的機(jī)器學(xué)習(xí)模型相比,當(dāng)訓(xùn)練樣本足夠多時(shí),神經(jīng)網(wǎng)絡(luò)可以從結(jié)構(gòu)化數(shù)據(jù)中獲得更復(fù)雜的概念和關(guān)系,并且擁有更快的訓(xùn)練速度。

        圖4所示為本文模型結(jié)構(gòu)。首先,由于代碼中的數(shù)據(jù)流和控制流的數(shù)量很多,所以將PDG的多個(gè)實(shí)例特征作為輸入。為了加快計(jì)算速度,在訓(xùn)練迭代時(shí)使用500個(gè)隨機(jī)樣本中的實(shí)例作為輸入。

        Figure 4 Structure of CPNN model 圖4 CPNN模型結(jié)構(gòu)

        此外,本文將每個(gè)實(shí)例轉(zhuǎn)換為可以傳遞給網(wǎng)絡(luò)的數(shù)字形式,將令牌嵌入到矩陣Rd中,即將這些實(shí)例連接起來,形成一個(gè)三維的上下文向量。首先,形成的三維特征矩陣是隨機(jī)的,它們的值在神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練中調(diào)整。然后,具有雙曲正切(tanh)功能的全連接層將三維的原始實(shí)例特征向量轉(zhuǎn)換為一維的上下文向量,這樣可以加快模型的收斂速度。每段代碼對(duì)應(yīng)一組向量,并且將這段代碼的耦合度與轉(zhuǎn)換后的向量合并為一組一維向量。其中,tanh雙曲正切函數(shù)是一種單調(diào)非線性的激活函數(shù),輸出的值在(-1,1)內(nèi),這樣增加了模型的表現(xiàn)力。

        在下一步中,通過注意力機(jī)制[13]將單個(gè)的向量聚合為代碼片段的表示形式。注意力機(jī)制計(jì)算了組合上下文向量的加權(quán)平均值,其主要工作是計(jì)算每個(gè)向量的分量權(quán)重。本文使用了注意力的一個(gè)簡單版本,用一個(gè)可訓(xùn)練的向量αatt表示。對(duì)于實(shí)例向量ctxk及其耦合度Ck,其權(quán)值wk的計(jì)算如式(9)和式(10)所示:

        attk=ctxk·Ck·αatt

        (9)

        (10)

        其中, |ctx|表示實(shí)例向量數(shù)量。每個(gè)代碼段向量都包含一組實(shí)例向量權(quán)值,其代碼段的表示形式如(11)所示:

        (11)

        最后,一個(gè)帶有Softmax激活的全連接層對(duì)源代碼作者做出預(yù)測。本文使用代碼向量來執(zhí)行標(biāo)簽的預(yù)測,因此首先定義一個(gè)用來學(xué)習(xí)部分訓(xùn)練集的標(biāo)簽詞匯向量tagsi,然后用代碼向量和標(biāo)簽之間的點(diǎn)積進(jìn)行預(yù)測,如式(12)所示。

        (12)

        其中,J表示測試集的數(shù)量,tagsj表示第j個(gè)測試集的標(biāo)簽詞匯向量。

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

        5.1 數(shù)據(jù)集

        本文數(shù)據(jù)集來源于谷歌編程競賽GCJ(Google Code Jam),其中包含3種不同的編程語言,即C++、Java和Python。采用2008年~2019年參加競賽的程序員的源代碼數(shù)據(jù),代碼數(shù)量分布如圖5所示。本文收集的數(shù)據(jù)集的特點(diǎn)是每段程序與其作者一一對(duì)應(yīng),以便于在模型訓(xùn)練時(shí)進(jìn)行交叉驗(yàn)證。

        Figure 5 2008~2019 competition source codes圖5 2008~2019年競賽源碼圖

        5.2 評(píng)價(jià)指標(biāo)

        本文使用F-measure評(píng)估CPNN模型的分類性能,用模型精度度量作者歸屬的準(zhǔn)確率,評(píng)估指標(biāo)如式(13)~式(16)所示:

        (13)

        (14)

        (15)

        (16)

        其中,真陽性(TP)表示事實(shí)為真判定為真的樣本數(shù)量,假陽性(FP)表示事實(shí)為假判定為真的樣本數(shù)量。相反,真陰性(TN)表示事實(shí)為假判定也為假的樣本數(shù)量,假陰性(FN)表示事實(shí)為真判定為假的樣本數(shù)。

        5.3 特征選擇分析

        為了驗(yàn)證本文提出的耦合度對(duì)于作者歸屬的影響,對(duì)比CPNN模型在PDG特征、PDG與耦合度特征結(jié)合2種不同情況下的預(yù)測作者歸屬的準(zhǔn)確率。在200名程序員的C++源代碼數(shù)據(jù)集上的對(duì)比結(jié)果如圖6所示。

        Figure 6 Feature selection analysis圖6 特征選擇分析

        圖6顯示了在200名程序員的C++源代碼上,PDG特征的準(zhǔn)確率在訓(xùn)練中由最初的98%逐漸下降到了96%,而耦合度和程序依賴圖特征結(jié)合比單一的PDG特征擁有較高的準(zhǔn)確率。因此,本文提出的耦合度特征能夠?qū)υ创a作者歸屬判別產(chǎn)生較好的影響。

        5.4 模型分析

        為了驗(yàn)證CPNN模型的高效性,本文將模型與解決相同問題的其它3個(gè)模型進(jìn)行了比較,結(jié)果如圖7所示。

        Figure 7 Comparison of F-measure between CPNN model and baseline models圖7 CPNN模型與基線模型F-measure 對(duì)比圖

        圖7顯示出CPNN模型在較短的時(shí)間內(nèi)達(dá)到了穩(wěn)定的最佳結(jié)果,而基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)預(yù)測名稱[16]、長短期記憶(LSTM)網(wǎng)絡(luò)預(yù)測C#源代碼[17]和基于抽象語法樹路徑(Paths)的詞向量網(wǎng)絡(luò)[18],前期訓(xùn)練速度較平緩,并且到達(dá)最優(yōu)值的時(shí)間較長。因此,本文提出的基于耦合度的PDG網(wǎng)絡(luò)模型達(dá)到最佳F-measure的速度快于其它3個(gè)基線模型。

        5.5 結(jié)果分析

        將本文的工作與已有的相關(guān)研究進(jìn)行準(zhǔn)確率對(duì)比,結(jié)果如表1所示。

        Table 1 Classification accuracy comparison CPNN model with other models

        在文獻(xiàn)[10]中,作者使用隨機(jī)森林RF(Random Forest)技術(shù)對(duì)C++源代碼中的程序員進(jìn)行預(yù)測。在數(shù)據(jù)集包含35名程序員時(shí),準(zhǔn)確率為99%,1 000名程序員時(shí)準(zhǔn)確率下降到92%。因此,隨著程序員數(shù)量的增多,網(wǎng)絡(luò)模型預(yù)測的準(zhǔn)確率會(huì)降低。類似地,文獻(xiàn)[19]中使用卷積神經(jīng)網(wǎng)絡(luò)(CNN),在745名程序員的2種語言源代碼上平均準(zhǔn)確率達(dá)到了95%,另外在1 000名程序員的Python源代碼上準(zhǔn)確率達(dá)到了93%,Java源代碼上準(zhǔn)確率達(dá)到了94%。文獻(xiàn)[11]使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型在3種不同語言源代碼上的平均準(zhǔn)確率達(dá)到了90%。文獻(xiàn)[13]使用基于路徑的神經(jīng)網(wǎng)絡(luò)PbNN(Path-based Neural Network)在少量程序員的單一語言源代碼上達(dá)到了97%的準(zhǔn)確率。本文采用基于耦合度和PDG特征網(wǎng)絡(luò)(CPNN)模型,在200名和1 000名程序員的不同類型源代碼上,平均準(zhǔn)確率達(dá)到了98%和95%,在跨語言類型和準(zhǔn)確率方面都優(yōu)于其它4種模型。

        6 結(jié)束語

        本文提出了一種基于耦合度和PDG混合特征的神經(jīng)網(wǎng)絡(luò)模型。每名程序員都有不同的編碼樣式,即控制邏輯流。PDG功能僅可以用于提取有關(guān)控制流邏輯的隱藏模式以及不同編程代碼中的數(shù)據(jù)變化,而源代碼模塊間的耦合程度很大程度上決定了一名程序員的編碼水平。將這些PDG特性和耦合度特征進(jìn)一步用作深度學(xué)習(xí)的輸入用于捕獲編碼樣式以識(shí)別程序員。本文使用一種自然語言的處理方式,即采用CPNN預(yù)測不同類型源代碼的作者。與卷積神經(jīng)網(wǎng)絡(luò)和基于抽象語法樹路徑的網(wǎng)絡(luò)進(jìn)行比較,結(jié)果表明了CPNN模型的高效性,并且在1 000名程序員的Java、C++和Python 3種不同類型的源代碼數(shù)據(jù)上,準(zhǔn)確率達(dá)到了95%。

        實(shí)驗(yàn)結(jié)果表明,本文提出的基于耦合度的作者歸屬判別模型在準(zhǔn)確率方面優(yōu)于許多已有的代碼身份識(shí)別的神經(jīng)網(wǎng)絡(luò)模型。然而,它仍然存在一些不足,隨著數(shù)據(jù)規(guī)模的增加,PDG特征預(yù)處理消耗的成本會(huì)增加,并且會(huì)造成程序員特征集的不平衡。其次程序員的編程風(fēng)格有可能隨時(shí)間發(fā)生變化。因此,尋找較低的成本提取更能表示源代碼屬性的特征方法、消除數(shù)據(jù)不平衡和通過加入抑制過擬合的手段比如Dropout和正則化,解決編程風(fēng)格隨時(shí)間變化的問題成為將來的主要研究方向。

        猜你喜歡
        源代碼程序員耦合度
        人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
        中國北方蒸散-降水耦合度時(shí)空變化與水熱因子的關(guān)系
        干旱氣象(2022年5期)2022-11-16 04:40:24
        為了讓媽媽看懂地圖,一位“野生程序員”做了個(gè)小程序
        雙速感應(yīng)電機(jī)繞組耦合度研究
        基于TXL的源代碼插樁技術(shù)研究
        怎樣成為一名優(yōu)秀程序員
        幼兒100(2020年29期)2020-10-21 06:17:58
        遼寧省經(jīng)濟(jì)與生態(tài)環(huán)境耦合協(xié)調(diào)性分析
        軟件源代碼非公知性司法鑒定方法探析
        程序員之子
        意林(2017年24期)2018-01-02 22:49:14
        基于耦合度分析的家禽孵化過程模糊解耦控制系統(tǒng)
        国产美腿丝袜一区二区| Y111111国产精品久久久| 久久久精品中文无码字幕| 中文字幕一区二区三区| 夫妻免费无码v看片| 少妇装睡让我滑了进去| 99久久综合九九亚洲| 日本黄色特级一区二区三区| 99国产精品久久99久久久| 精品国产午夜理论片不卡| 精品无码AV无码免费专区| 国产麻豆成人精品av| 色婷婷av一区二区三区久久| 97人妻碰碰视频免费上线| 国产97色在线 | 免| 亚洲国产一区中文字幕| 欧美午夜理伦三级在线观看| 亚洲午夜精品久久久久久人妖 | 国产av一区二区三区区别| 国产av麻豆精品第一页| 国产办公室秘书无码精品99| 国产极品久久久久极品| 亚洲天堂无码AV一二三四区| 亚洲国产精品国自拍av| 内射爽无广熟女亚洲| 最新亚洲人AV日韩一区二区| 日本高清人妻一区二区| 日韩av无码一区二区三区| 国产午夜福利小视频合集| 无码av永久免费大全| 精品人妻av一区二区三区麻豆| 日韩乱码人妻无码中文字幕久久| 免费av在线国模| 国产精品老女人亚洲av无| 国产精品办公室沙发| 亚洲色偷偷色噜噜狠狠99| 亚洲中文字幕永久网站| 无码爽视频| 超碰97人人做人人爱少妇| 国产高清女人对白av在在线| av网站在线观看大全|