• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正

      2023-09-20 11:23:42劉楷正喬陽陽王麗娟
      計(jì)算機(jī)仿真 2023年8期
      關(guān)鍵詞:源代碼校正語義

      劉楷正,喬陽陽,董 濤,王麗娟

      (1. 鄭州工商學(xué)院信息工程學(xué)院,河南 鄭州 451400;2. 華北水利水電大學(xué)電力學(xué)院,河南 鄭州 450046)

      1 引言

      現(xiàn)階段,計(jì)算機(jī)軟件在各個行業(yè)中都得到了廣泛運(yùn)用,其發(fā)展規(guī)模不斷擴(kuò)大,復(fù)雜程度也在不斷地提高。隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,給軟件工程領(lǐng)域帶來了新的機(jī)遇和挑戰(zhàn)[1]。目前來看,軟件系統(tǒng)的發(fā)展規(guī)模越發(fā)龐大,系統(tǒng)的結(jié)構(gòu)日趨復(fù)雜,如何保證軟件代碼安全、可靠地運(yùn)行,始終是軟件研究領(lǐng)域所關(guān)心的重點(diǎn)問題[2]。軟件源代碼缺陷問題影響著整個軟件開發(fā)的過程,是十分重要的一個環(huán)節(jié)。由于軟件缺陷問題所帶來的損害通常并不只是經(jīng)濟(jì)上的損害,而是在重要的體系發(fā)生故障時(shí),會危及人們的人身安全和財(cái)產(chǎn)安全[3]。因此,在軟件開發(fā)應(yīng)用前,對軟件源代碼缺陷進(jìn)行校正,是當(dāng)前軟件工程研究領(lǐng)域的一個熱點(diǎn)問題。

      王曉萌等人[4]研究了一種利用多信道卷積網(wǎng)絡(luò)進(jìn)行源碼缺陷識別的算法,利用word2vec、fasttext等詞匯嵌入技術(shù)表示詞匯間的矢量關(guān)系,并建立了一個完整的矢量表示模型,用來表達(dá)源代碼的特征;該方法通過對源碼中缺陷類型進(jìn)行深入的卷積網(wǎng)絡(luò)學(xué)習(xí),構(gòu)造出一種基于源代碼缺陷類型的源代碼故障分類器,從而達(dá)到對多類別代碼缺陷的準(zhǔn)確識別,用SARD和開放源碼對其進(jìn)行了檢驗(yàn)。曹英魁等人[5]在解析代碼過程中,結(jié)合ExpTrans.ExpTrans,以圖表的方式實(shí)現(xiàn)了代碼的自動轉(zhuǎn)換,明確地指明了代碼中變量間的相關(guān)性,并將圖卷積網(wǎng)絡(luò)與 Transformer體系相融合,提高了該模型的編碼結(jié)構(gòu)和相關(guān)信息,從而提高了代碼轉(zhuǎn)換的精確度。通過仿真證明了,ExpTrans在修改例數(shù)和精確度方面都有很大提高,準(zhǔn)確率上升了20%左右。

      基于以上研究背景,本文將人工智能技術(shù)應(yīng)用于復(fù)雜軟件源代碼缺陷校正中,避免軟件受到黑客攻擊。

      2 復(fù)雜軟件源代碼缺陷校正方法設(shè)計(jì)

      2.1 分析復(fù)雜軟件源代碼語義

      在復(fù)雜軟件中,將源代碼的終結(jié)符集合和非終結(jié)符集合定義為Σ和Ω,用D∈Ω代表源代碼的開始字符,G為一個規(guī)則的代碼集合,通常采用S->β形式表示,g代表源代碼規(guī)則集G中終結(jié)符的形成概率,在源代碼規(guī)則集的左部,g與非終結(jié)符形成概率的和為1,表示為:

      (1)

      式中,Ωi代表源代碼的非終結(jié)符,Λj代表復(fù)雜軟件源代碼的字符串。

      根據(jù)概率學(xué)數(shù)學(xué)方程式[6],計(jì)算復(fù)雜軟件中全部源代碼的語義概率值Q(D),并將出現(xiàn)概率最大的語義概率值作為源代碼語義分析的樣本,利用語法分析器[7],對源代碼的語言文本進(jìn)行分析:

      (2)

      式中,Q(t,s)代表源代碼最優(yōu)的語義規(guī)則概率,t代表未進(jìn)行標(biāo)注的源代碼語義樣本參數(shù),Φ代表復(fù)雜軟件源代碼語義分析過程中的符號流。

      (3)

      式中,f(x)代表源代碼語言符號流的延續(xù)函數(shù),即復(fù)雜軟件源代碼語義函數(shù)接收上一個延續(xù)作為新添加的參數(shù)。

      通過對所有復(fù)雜軟件源代碼語義符號流的轉(zhuǎn)化和解析,得出了源代碼的語義過渡階段函數(shù)Ud、條件轉(zhuǎn)移函數(shù)KS,并依據(jù)所述的源代碼中間變換進(jìn)行了新的解析[8],從而得出了復(fù)雜軟件源代碼語義分析結(jié)果:

      (4)

      利用語法分析器,建立源代碼語言的文本分析樹,通過定義源代碼語言文本中間轉(zhuǎn)換執(zhí)行流的延續(xù),分析復(fù)雜軟件源代碼語義。

      2.2 驗(yàn)證復(fù)雜軟件源代碼的程序標(biāo)注

      在對復(fù)雜軟件源代碼程序標(biāo)注驗(yàn)證分析的過程中,首先需要采集源代碼程序運(yùn)行過程中的異常項(xiàng)信息,并獲取異常信息出現(xiàn)次數(shù),結(jié)合人工智能的計(jì)算機(jī)技術(shù)[9],計(jì)算出后驗(yàn)概率:

      (5)

      式中,p(Y∣ei)和p(Y∣ej)分別表示源代碼程序Y在ei和ej狀態(tài)下的條件概率,p(ei)和p(ej)分別表示ei和ej的后驗(yàn)概率。

      對復(fù)雜軟件源代碼程序進(jìn)行標(biāo)注后,采用人工智能技術(shù)中的聚類算法再對復(fù)雜軟件源代碼的程序標(biāo)注進(jìn)行驗(yàn)證[10]。通過對樣本集的匹配,組成N個新的復(fù)雜軟件源代碼樣本集,從而獲得M個源代碼特征指標(biāo)yj={y1j,y2j,…,ymj}T,則復(fù)雜軟件源代碼樣本集可以通過N×M階矩陣描述為:

      (6)

      根據(jù)h個級別標(biāo)準(zhǔn),對N個源代碼程序的M個指標(biāo)特征進(jìn)行分類和識別[11],從而得到復(fù)雜軟件源代碼模糊矩陣表示為:

      (7)

      式中,wkl表示源代碼程序l對應(yīng)級別k的隸屬程度。

      假設(shè),每個級別k內(nèi)包含M個特征指標(biāo)值,根據(jù)h個級別的標(biāo)準(zhǔn),對M×h階標(biāo)準(zhǔn)矩陣進(jìn)行描述,表示為:

      (8)

      式中,uzk表示復(fù)雜軟件源代碼k指標(biāo)滿足z的標(biāo)準(zhǔn)指標(biāo)值。

      得到N條復(fù)雜軟件源代碼程序標(biāo)注的標(biāo)準(zhǔn)指標(biāo)集,將程序標(biāo)注中待分類的指標(biāo)集ψs與源代碼程序庫進(jìn)行混合比對,通過對模糊矩陣的計(jì)算[12],得到程序標(biāo)注的貼近度,設(shè)N×M階的兩個矩陣B(bij)和V(vij),則有:

      (9)

      通過上式可以得到復(fù)雜軟件源代碼程序標(biāo)注與集合的貼近度,如果所獲得的結(jié)果與所述精確的程序標(biāo)注并不相符,那么,對復(fù)雜軟件源代碼程序標(biāo)注集與每個樣本集的貼近程度進(jìn)行比較,如果所述的結(jié)果與程序標(biāo)注樣本集匹配,說明復(fù)雜軟件源代碼程序標(biāo)注不存在問題,反之說明程序標(biāo)注結(jié)果不準(zhǔn)確。

      引入人工智能領(lǐng)域的計(jì)算機(jī)科學(xué)技術(shù),計(jì)算復(fù)雜軟件的后驗(yàn)概率,利用模糊矩陣計(jì)算源代碼缺陷的貼近度,驗(yàn)證復(fù)雜軟件源代碼的程序標(biāo)注。

      2.3 設(shè)計(jì)源代碼缺陷校正算法

      假設(shè)nDs表示源代碼缺陷數(shù)量,nC表示復(fù)雜軟件源代碼總行數(shù),Os表示復(fù)雜軟件源代碼缺陷校正密度,其計(jì)算公式為:

      (10)

      根據(jù)復(fù)雜軟件源代碼缺陷特征數(shù)據(jù)的計(jì)算結(jié)果,對源代碼缺陷進(jìn)行預(yù)處理,表達(dá)式為:

      (11)

      式中,Cs代表復(fù)雜軟件源代碼缺陷校正的能力,η*代表復(fù)雜軟件源代碼缺陷率,k表示一般常數(shù)。

      (12)

      式中,d%表示復(fù)雜軟件源代碼缺陷的欠抽樣處理結(jié)果。如果結(jié)果d%=0,說明復(fù)雜軟件源代碼缺陷沒有進(jìn)行校正操作;如果d%=50%,說明復(fù)雜軟件源代碼缺陷數(shù)據(jù)比正常數(shù)據(jù)的數(shù)量要多百分之五十;如果d%=100%,則說明復(fù)雜軟件源代碼缺陷校正效果良好,即復(fù)雜軟件源代碼缺陷數(shù)目趨向?yàn)榱恪?/p>

      假設(shè)A和C分別表示復(fù)雜軟件源代碼缺陷校正變量,對復(fù)雜軟件源代碼缺陷信息進(jìn)行處理[14],得到復(fù)雜軟件源代碼缺陷特征關(guān)聯(lián)度信息,具體計(jì)算公式為:

      (13)

      式中,H(A)和H(C)代表復(fù)雜軟件源代碼缺陷特征變量,p(a)代表復(fù)雜軟件源代碼缺陷特征取值為a的校正概率;如果Ω(A,C)∈[0,1],當(dāng)Ω(A,C)越大時(shí),表明復(fù)雜軟件源代碼缺陷之間的關(guān)聯(lián)度較高,相反,如果Ω(A,C)越小,則說明復(fù)雜軟件源代碼缺陷特征間的關(guān)聯(lián)程度越低。

      基于人工智能中的數(shù)據(jù)依賴性分析理論[15],提取出復(fù)雜軟件源代碼缺陷校正分區(qū)依賴關(guān)系,表示為:

      (14)

      (15)

      (16)

      式中,φk代表復(fù)雜軟件源代碼缺陷校正的初始化函數(shù),?c代表復(fù)雜軟件源代碼缺陷校正過程中的內(nèi)存模型,μ*代表校正系數(shù)。

      綜上所述,根據(jù)復(fù)雜軟件源代碼的缺陷密度,利用人工智能聚類算法,預(yù)處理了源代碼缺陷特征,依據(jù)人工智能的數(shù)據(jù)依賴性分析理論,提取出源代碼分區(qū)的依賴關(guān)系,結(jié)合代碼轉(zhuǎn)換,實(shí)現(xiàn)復(fù)雜軟件源代碼缺陷的校正。

      3 仿真分析

      3.1 仿真環(huán)境

      為了驗(yàn)證所研究方法在校正復(fù)雜軟件源代碼缺陷時(shí)的性能,采用PyTorch開源框架對復(fù)雜軟件源代碼進(jìn)行編寫,編程語言為Python 4.2,環(huán)境參數(shù)為PyCharm+PyTorch。

      3.2 實(shí)驗(yàn)對象

      在3.1節(jié)的實(shí)驗(yàn)環(huán)境下,本文選擇Siemens復(fù)雜軟件作為實(shí)驗(yàn)對象進(jìn)行驗(yàn)證,復(fù)雜軟件程序的基本信息如表1所示。

      表1 復(fù)雜軟件程序的基本信息

      3.3 測試復(fù)雜軟件程序的運(yùn)行效率

      采用所研究方法對復(fù)雜軟件的源代碼缺陷進(jìn)行校正之后,測試了表1中各個程序的運(yùn)行效率,為了突出所研究方法的優(yōu)越性,引入基于深度卷積神經(jīng)網(wǎng)絡(luò)的校正方法和基于結(jié)構(gòu)信息增強(qiáng)的校正方法作對比,結(jié)果如圖1所示。

      圖1 復(fù)雜軟件程序的運(yùn)行效率

      根據(jù)圖1中的結(jié)果可知,由于Siemens復(fù)雜軟件在運(yùn)行過程中的安全性較低,會導(dǎo)致源代碼存在缺陷,從而影響軟件程序的運(yùn)行效率,利用所研究方法對Siemens復(fù)雜軟件源代碼缺陷進(jìn)行校正,可以將軟件程序的運(yùn)行效率提高到90%以上,避免軟件程序出現(xiàn)卡頓的現(xiàn)象,而基于深度卷積神經(jīng)網(wǎng)絡(luò)的校正方法和基于結(jié)構(gòu)信息增強(qiáng)的校正方法的運(yùn)行效率低于所研究方法,說明所研究方法具有更高的應(yīng)用價(jià)值。

      3.4 性能對比

      進(jìn)一步測試復(fù)雜軟件源代碼缺陷的校正準(zhǔn)確率和召回率,結(jié)果如圖2和圖3所示。

      圖2 復(fù)雜軟件源代碼缺陷的校正準(zhǔn)確率

      圖3 復(fù)雜軟件源代碼缺陷的校正召回率

      從圖2中的結(jié)果可以看出,與基于深度卷積神經(jīng)網(wǎng)絡(luò)的校正方法和基于結(jié)構(gòu)信息增強(qiáng)的校正方法相比,所研究方法可以將復(fù)雜軟件源代碼缺陷的校正準(zhǔn)確率提高到90%以上,能夠準(zhǔn)確對源代碼缺陷進(jìn)行校正,降低復(fù)雜軟件出現(xiàn)漏洞的概率。

      圖3中的結(jié)果顯示,采用基于深度卷積神經(jīng)網(wǎng)絡(luò)的校正方法和基于結(jié)構(gòu)信息增強(qiáng)的校正方法時(shí),復(fù)雜軟件源代碼缺陷的校正召回率在70%以下,會出現(xiàn)誤檢的情況,而采用所研究方法時(shí),復(fù)雜軟件源代碼缺陷的校正召回率能夠達(dá)到90%以上,能夠保證復(fù)雜軟件的穩(wěn)定運(yùn)行。因?yàn)樗芯糠椒ǜ鶕?jù)復(fù)雜軟件源代碼的缺陷密度,采用人工智能技術(shù)中的聚類算法預(yù)處理源代碼缺陷特征,并依據(jù)數(shù)據(jù)依賴性分析理論,提取出源代碼分區(qū)的依賴關(guān)系,實(shí)現(xiàn)了復(fù)雜軟件源代碼缺陷的校正。

      4 結(jié)束語

      本文提出了基于人工智能的復(fù)雜軟件源代碼缺陷校正仿真,經(jīng)過仿真分析發(fā)現(xiàn),所研究方法具有較高的缺陷校正準(zhǔn)確率和召回率,能夠保證復(fù)雜軟件的穩(wěn)定運(yùn)行。但是本文的研究還存在一定不足,在今后的研究中,需要對復(fù)雜軟件的注入攻擊進(jìn)行檢測,通過提高復(fù)雜軟件源代碼的安全性,避免復(fù)雜軟件源代碼出現(xiàn)缺陷。

      猜你喜歡
      源代碼校正語義
      基于TXL的源代碼插樁技術(shù)研究
      劉光第《南旋記》校正
      國學(xué)(2020年1期)2020-06-29 15:15:30
      語言與語義
      軟件源代碼非公知性司法鑒定方法探析
      一類具有校正隔離率隨機(jī)SIQS模型的絕滅性與分布
      基于語法和語義結(jié)合的源代碼精確搜索方法
      機(jī)內(nèi)校正
      “上”與“下”語義的不對稱性及其認(rèn)知闡釋
      揭秘龍湖產(chǎn)品“源代碼”
      認(rèn)知范疇模糊與語義模糊
      荃湾区| 临安市| 东平县| 彝良县| 徐汇区| 吴堡县| 武定县| 栖霞市| 孝感市| 安庆市| 衡东县| 连云港市| 惠州市| 开封市| 正定县| 泗洪县| 沭阳县| 土默特右旗| 四子王旗| 维西| 巴南区| 隆化县| 南靖县| 金坛市| 梓潼县| 壤塘县| 兴义市| 武宣县| 通海县| 大邑县| 德钦县| 新乡县| 海丰县| 新乡市| 玛纳斯县| 阿克陶县| 静乐县| 图们市| 牙克石市| 鸡泽县| 哈密市|