?

人工智能下復雜軟件源代碼缺陷精準校正

2023-09-20 11:23劉楷正喬陽陽王麗娟
計算機仿真 2023年8期
關鍵詞:源代碼校正語義

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

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

1 引言

現階段,計算機軟件在各個行業中都得到了廣泛運用,其發展規模不斷擴大,復雜程度也在不斷地提高。隨著網絡技術的迅速發展,給軟件工程領域帶來了新的機遇和挑戰[1]。目前來看,軟件系統的發展規模越發龐大,系統的結構日趨復雜,如何保證軟件代碼安全、可靠地運行,始終是軟件研究領域所關心的重點問題[2]。軟件源代碼缺陷問題影響著整個軟件開發的過程,是十分重要的一個環節。由于軟件缺陷問題所帶來的損害通常并不只是經濟上的損害,而是在重要的體系發生故障時,會危及人們的人身安全和財產安全[3]。因此,在軟件開發應用前,對軟件源代碼缺陷進行校正,是當前軟件工程研究領域的一個熱點問題。

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

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

2 復雜軟件源代碼缺陷校正方法設計

2.1 分析復雜軟件源代碼語義

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

(1)

式中,Ωi代表源代碼的非終結符,Λj代表復雜軟件源代碼的字符串。

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

(2)

式中,Q(t,s)代表源代碼最優的語義規則概率,t代表未進行標注的源代碼語義樣本參數,Φ代表復雜軟件源代碼語義分析過程中的符號流。

(3)

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

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

(4)

利用語法分析器,建立源代碼語言的文本分析樹,通過定義源代碼語言文本中間轉換執行流的延續,分析復雜軟件源代碼語義。

2.2 驗證復雜軟件源代碼的程序標注

在對復雜軟件源代碼程序標注驗證分析的過程中,首先需要采集源代碼程序運行過程中的異常項信息,并獲取異常信息出現次數,結合人工智能的計算機技術[9],計算出后驗概率:

(5)

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

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

(6)

根據h個級別標準,對N個源代碼程序的M個指標特征進行分類和識別[11],從而得到復雜軟件源代碼模糊矩陣表示為:

(7)

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

假設,每個級別k內包含M個特征指標值,根據h個級別的標準,對M×h階標準矩陣進行描述,表示為:

(8)

式中,uzk表示復雜軟件源代碼k指標滿足z的標準指標值。

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

(9)

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

引入人工智能領域的計算機科學技術,計算復雜軟件的后驗概率,利用模糊矩陣計算源代碼缺陷的貼近度,驗證復雜軟件源代碼的程序標注。

2.3 設計源代碼缺陷校正算法

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

(10)

根據復雜軟件源代碼缺陷特征數據的計算結果,對源代碼缺陷進行預處理,表達式為:

(11)

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

(12)

式中,d%表示復雜軟件源代碼缺陷的欠抽樣處理結果。如果結果d%=0,說明復雜軟件源代碼缺陷沒有進行校正操作;如果d%=50%,說明復雜軟件源代碼缺陷數據比正常數據的數量要多百分之五十;如果d%=100%,則說明復雜軟件源代碼缺陷校正效果良好,即復雜軟件源代碼缺陷數目趨向為零。

假設A和C分別表示復雜軟件源代碼缺陷校正變量,對復雜軟件源代碼缺陷信息進行處理[14],得到復雜軟件源代碼缺陷特征關聯度信息,具體計算公式為:

(13)

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

基于人工智能中的數據依賴性分析理論[15],提取出復雜軟件源代碼缺陷校正分區依賴關系,表示為:

(14)

(15)

(16)

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

綜上所述,根據復雜軟件源代碼的缺陷密度,利用人工智能聚類算法,預處理了源代碼缺陷特征,依據人工智能的數據依賴性分析理論,提取出源代碼分區的依賴關系,結合代碼轉換,實現復雜軟件源代碼缺陷的校正。

3 仿真分析

3.1 仿真環境

為了驗證所研究方法在校正復雜軟件源代碼缺陷時的性能,采用PyTorch開源框架對復雜軟件源代碼進行編寫,編程語言為Python 4.2,環境參數為PyCharm+PyTorch。

3.2 實驗對象

在3.1節的實驗環境下,本文選擇Siemens復雜軟件作為實驗對象進行驗證,復雜軟件程序的基本信息如表1所示。

表1 復雜軟件程序的基本信息

3.3 測試復雜軟件程序的運行效率

采用所研究方法對復雜軟件的源代碼缺陷進行校正之后,測試了表1中各個程序的運行效率,為了突出所研究方法的優越性,引入基于深度卷積神經網絡的校正方法和基于結構信息增強的校正方法作對比,結果如圖1所示。

圖1 復雜軟件程序的運行效率

根據圖1中的結果可知,由于Siemens復雜軟件在運行過程中的安全性較低,會導致源代碼存在缺陷,從而影響軟件程序的運行效率,利用所研究方法對Siemens復雜軟件源代碼缺陷進行校正,可以將軟件程序的運行效率提高到90%以上,避免軟件程序出現卡頓的現象,而基于深度卷積神經網絡的校正方法和基于結構信息增強的校正方法的運行效率低于所研究方法,說明所研究方法具有更高的應用價值。

3.4 性能對比

進一步測試復雜軟件源代碼缺陷的校正準確率和召回率,結果如圖2和圖3所示。

圖2 復雜軟件源代碼缺陷的校正準確率

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

從圖2中的結果可以看出,與基于深度卷積神經網絡的校正方法和基于結構信息增強的校正方法相比,所研究方法可以將復雜軟件源代碼缺陷的校正準確率提高到90%以上,能夠準確對源代碼缺陷進行校正,降低復雜軟件出現漏洞的概率。

圖3中的結果顯示,采用基于深度卷積神經網絡的校正方法和基于結構信息增強的校正方法時,復雜軟件源代碼缺陷的校正召回率在70%以下,會出現誤檢的情況,而采用所研究方法時,復雜軟件源代碼缺陷的校正召回率能夠達到90%以上,能夠保證復雜軟件的穩定運行。因為所研究方法根據復雜軟件源代碼的缺陷密度,采用人工智能技術中的聚類算法預處理源代碼缺陷特征,并依據數據依賴性分析理論,提取出源代碼分區的依賴關系,實現了復雜軟件源代碼缺陷的校正。

4 結束語

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

猜你喜歡
源代碼校正語義
基于TXL的源代碼插樁技術研究
劉光第《南旋記》校正
語言與語義
軟件源代碼非公知性司法鑒定方法探析
一類具有校正隔離率隨機SIQS模型的絕滅性與分布
基于語法和語義結合的源代碼精確搜索方法
機內校正
“上”與“下”語義的不對稱性及其認知闡釋
揭秘龍湖產品“源代碼”
認知范疇模糊與語義模糊
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合