[發(fā)明專利]一種基于基因表達式編程算法的軟件缺陷預測方法在審
| 申請?zhí)枺?/td> | 202210536193.7 | 申請日: | 2022-05-17 |
| 公開(公告)號: | CN114968773A | 公開(公告)日: | 2022-08-30 |
| 發(fā)明(設(shè)計)人: | 肖文輝;彭虎;韓雨鵬 | 申請(專利權(quán))人: | 九江學院 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06N3/12 |
| 代理公司: | 常州品益專利代理事務(wù)所(普通合伙) 32401 | 代理人: | 侯利娜 |
| 地址: | 332005 江西*** | 國省代碼: | 江西;36 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 基因 表達式 編程 算法 軟件 缺陷 預測 方法 | ||
本發(fā)明公開了一種基于基因表達式編程算法的軟件缺陷預測方法,包括如下步驟:S1:設(shè)置運行參數(shù)并隨機生成字符串染色體初始化種群;S2:將軟件缺陷歷史數(shù)據(jù)集分成訓練集和測試集;S3:通過樹狀結(jié)構(gòu)將種群中的字符串染色體轉(zhuǎn)換成表達式樹;S4:將表達式樹進行解碼,轉(zhuǎn)換成對應(yīng)的程序模型;S5:根據(jù)適應(yīng)度函數(shù),計算適應(yīng)度值;S6:用輪盤賭選擇機制對種群進行選擇;S7:用基于領(lǐng)域變異的基因表達式編程算法對種群進行演化;S8:重復S3步至S5;S9:檢查是否達到結(jié)束條件,如沒有則返回S6,結(jié)束后得到的最優(yōu)染色體即為對軟件缺陷預測的模型;S10:通過測試集對得到的模型進行測試,最終得到軟件缺陷預測的模型;S11:將實況的軟件缺陷數(shù)據(jù)輸入到模型中,得到預測結(jié)果。本發(fā)明簡單高效,可用于缺陷預測技術(shù)領(lǐng)域中軟件缺陷的預測。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件缺陷技術(shù)領(lǐng)域,尤其涉及一種基于基因表達式編程算法的軟件缺陷預測方法。
背景技術(shù)
隨著軟件規(guī)模的不斷擴大和復雜度的不斷提高,軟件的質(zhì)量也成為了關(guān)注的焦點。而隱含缺陷的軟件在部署后可能會產(chǎn)生一些意料之外的結(jié)果或行為,嚴重的時候會給企業(yè)帶來巨額的經(jīng)濟損失。軟件的缺陷威脅著軟件的質(zhì)量,如何在軟件開發(fā)的早期檢測出軟件的缺陷也成為了研究的重點。軟件缺陷預測技術(shù)能夠在軟件開發(fā)過程中使用軟件模塊的度量元數(shù)據(jù)來提前發(fā)現(xiàn)與鎖定缺陷模塊,從而合理地分配有限的資源,為軟件質(zhì)量提供保障。可以參見有關(guān)文獻:Nam J.Survey on software defect prediction[J].Department of Computer Science and Engineering,The Hong Kong University ofScience and Technology,Tech.Rep,2014.
軟件的隱含缺陷被檢測出的時間越晚,修復這些缺陷的代價也越高,尤其在軟件部署后,修復和檢測的代價也急劇增加。因此,如果能在項目開發(fā)的早期階段,預先識別出項目內(nèi)的潛在缺陷程序模塊,就能對這類程序模塊分配足夠的測試資源以確保可以進行重復的代碼審查或單元測試,最終達到提高軟件產(chǎn)品質(zhì)量的目的。可以參見有關(guān)文獻:宮麗娜,姜淑娟,姜麗.軟件缺陷預測技術(shù)研究進展[J].軟件學報,2019,30(10):3090-3114.
目前,在軟件缺陷預測技術(shù)中,對于預測模型的建立,許多經(jīng)典算法被用來作為軟件缺陷預測的分類器,如支持向量機、決策表、貝葉斯網(wǎng)絡(luò)。此外,軟件缺陷預測還采用了許多智能優(yōu)化算法來提高預測精度,包括經(jīng)典的粒子群優(yōu)化算法、差分進化算法、螢火蟲算法等。可以參見有關(guān)文獻:Li Z,Jing X Y,Zhu X.Progress on approaches to softwaredefect prediction[J].Iet Software,2018,12(3):161-175.
基因表達式編程算法是Ferreira在2001年提出的,是一種基于基因型和表現(xiàn)型的新型演化算法。它即保留了遺傳算法的基因編碼方式,又結(jié)合了遺傳編程獨特的樹狀結(jié)構(gòu)。因此,基因表達式編程算法具有簡單便捷和靈活多變的特點,并被廣泛地應(yīng)用于回歸問題、數(shù)據(jù)挖掘和實際問題的識別當中。然而,標準的基因表達式編程算法也存在著收斂速率低、早熟和泛化能力差等諸多不足。這容易導致基因表達式編程算法應(yīng)用于復雜的實際問題時,求解精度差且計算時間長。
發(fā)明內(nèi)容
本發(fā)明主要是針對現(xiàn)有技術(shù)的不足,提出一種基于領(lǐng)域變異的基因表達式編程算法的軟件缺陷預測方法。該方法可以很好地解決上述問題。
本發(fā)明使用基于領(lǐng)域變異的基因表達式編程算法對軟件缺陷預測模型的構(gòu)建問題進行優(yōu)化設(shè)計。通過提高標準基因表達式編程算法的收斂速度和精度,從而提高對軟件缺陷預測的精度。演化計算過程中,通過將領(lǐng)域空間的概念引入到基因表達式編程算法中,使得算法中的種群多樣性增加,從而提高算法的泛化能力。
本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:
一種基于領(lǐng)域變異的基因表達式編程算法的軟件缺陷預測方法,包括如下步驟:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于九江學院,未經(jīng)九江學院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210536193.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





