[發(fā)明專利]一種基于譜聚類的軟件缺陷特征選擇方法在審
| 申請(qǐng)?zhí)枺?/td> | 202010116211.7 | 申請(qǐng)日: | 2020-02-25 |
| 公開(kāi)(公告)號(hào): | CN111338950A | 公開(kāi)(公告)日: | 2020-06-26 |
| 發(fā)明(設(shè)計(jì))人: | 嚴(yán)亮;許嘉熙;艾駿 | 申請(qǐng)(專利權(quán))人: | 北京高質(zhì)系統(tǒng)科技有限公司;北京航空航天大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36;G06K9/62 |
| 代理公司: | 北京中索知識(shí)產(chǎn)權(quán)代理有限公司 11640 | 代理人: | 胡大成 |
| 地址: | 101204 北京市平谷區(qū)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 譜聚類 軟件 缺陷 特征 選擇 方法 | ||
本發(fā)明公開(kāi)了一種基于譜聚類的軟件缺陷特征選擇方法,包括如下步驟:導(dǎo)入待進(jìn)行特征選擇的軟件缺陷數(shù)據(jù)集,并提取軟件缺陷預(yù)測(cè)特征集;剔除軟件缺陷預(yù)測(cè)特征集中的無(wú)關(guān)特征;建立特征間相關(guān)性矩陣;基于譜聚類對(duì)特征集進(jìn)行聚類分析,得到若干組高內(nèi)聚低耦合的特征簇;計(jì)算出特征簇中每個(gè)特征的質(zhì)量系數(shù),依照特征質(zhì)量系數(shù)對(duì)特征進(jìn)行排序,將排序結(jié)果作為特征前項(xiàng)選擇的搜索順序,并選擇機(jī)器學(xué)習(xí)性能最佳的特征子集作為軟件缺陷特征集。該方法解決了主流特征選擇方法無(wú)法兼顧無(wú)關(guān)特征和冗余特征排除、特征選擇算法性能隨特征數(shù)量增加而迅速下降、選擇出的特征子集通用性不強(qiáng)、用于預(yù)測(cè)效果不好等缺陷。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件缺陷預(yù)測(cè)及軟件可靠性技術(shù)領(lǐng)域,特別涉及一種基于譜聚類的軟件缺陷特征選擇方法。
背景技術(shù)
21世紀(jì)以來(lái),軟件在社會(huì)生活中的地位日益提升,無(wú)處不在,已經(jīng)不僅僅局限于工程、科研、經(jīng)濟(jì)等專業(yè)領(lǐng)域,更是走進(jìn)了千家百戶,成為了人們生活中舉足輕重的工具。隨著軟件系統(tǒng)規(guī)模日益增加,復(fù)雜程度呈幾何式提升,軟件的缺陷也與日俱增,而軟件缺陷導(dǎo)致的影響也輻射到了人民生活的方方面面。
軟件缺陷數(shù)據(jù)是軟件可靠性相關(guān)研究和應(yīng)用的基礎(chǔ)。長(zhǎng)期以來(lái),軟件可靠性領(lǐng)域使用的缺陷數(shù)據(jù)主要來(lái)自于有限的軟件測(cè)試數(shù)據(jù)和使用中故障的分析數(shù)據(jù)。雖然這類缺陷數(shù)據(jù)相對(duì)完整,但是缺陷數(shù)據(jù)量太少、覆蓋面不足、涉及軟件類型有限,已經(jīng)成為了軟件可靠性研究和應(yīng)用的瓶頸。互聯(lián)網(wǎng)的出現(xiàn),使我們進(jìn)入了大數(shù)據(jù)的時(shí)代,目前最大的開(kāi)源項(xiàng)目網(wǎng)站GitHub.com已經(jīng)擁有了數(shù)千萬(wàn)個(gè)開(kāi)源軟件項(xiàng)目,GitHub的發(fā)展使我們利用互聯(lián)網(wǎng)獲得海量的軟件缺陷數(shù)據(jù)成為了可能。但是GitHub并非為軟件缺陷采集而設(shè)立,其設(shè)立的主要目的還是為了實(shí)現(xiàn)開(kāi)源軟件的協(xié)同開(kāi)發(fā)和共享,因此直接從中獲得有價(jià)值的缺陷信息并非易事,主要面臨著缺陷信息不完整、描述不規(guī)范、缺陷代碼不突出、開(kāi)發(fā)分支過(guò)多、開(kāi)發(fā)代碼和缺陷修改代碼混雜等多種不利因素。
在軟件的全壽命周期當(dāng)中,如何提高軟件的質(zhì)量,對(duì)軟件的缺陷進(jìn)行識(shí)別和修復(fù)已經(jīng)成為一個(gè)重要的研究命題。由于相當(dāng)一部分的軟件缺陷有其獨(dú)有特征,根據(jù)歷史缺陷信息,可以提取出相應(yīng)的軟件缺陷代碼特征及其相關(guān)的上下文環(huán)境特征,在出現(xiàn)軟件失效之前盡早地識(shí)別軟件可能存在的影響其可靠性、安全性、可用性、兼容性等軟件質(zhì)量特性的缺陷模塊,從而達(dá)到缺陷預(yù)測(cè)和預(yù)防的效果。
隨著機(jī)器學(xué)習(xí)技術(shù)和深度學(xué)習(xí)技術(shù)的出現(xiàn)和不斷推進(jìn),軟件缺陷預(yù)測(cè)技術(shù)從一開(kāi)始的人工學(xué)習(xí)為主逐步轉(zhuǎn)向以機(jī)器學(xué)習(xí)作為重要工具。由于學(xué)習(xí)能力和數(shù)據(jù)處理能力的大幅度提高,學(xué)習(xí)更加龐大的軟件缺陷數(shù)據(jù)集,從而利用機(jī)器學(xué)習(xí)中的關(guān)聯(lián)規(guī)則、分類器算法、聚類算法等對(duì)軟件的缺陷特征進(jìn)行分析和預(yù)測(cè)成為了主流趨勢(shì)。
高維數(shù)據(jù)給機(jī)器學(xué)習(xí)模型帶來(lái)了挑戰(zhàn),特征集中往往存在著冗余、不相關(guān)特征,特征選擇工程可以提升軟件缺陷預(yù)測(cè)模型的準(zhǔn)確性,降低算法的時(shí)間和空間復(fù)雜度,提高模型解釋力。目前主流的特征選擇方法有兩種:過(guò)濾式特征選擇方法按照內(nèi)部特征或者相關(guān)性對(duì)各個(gè)特征進(jìn)行評(píng)分,設(shè)定閾值或者選擇閾值的個(gè)數(shù)選擇特征。包裹式特征選擇方法對(duì)于每一個(gè)的特征子集,均訓(xùn)練一個(gè)分類器,根據(jù)分類器的性能對(duì)該特征子集進(jìn)行評(píng)價(jià),在選擇分類器性能最好對(duì)應(yīng)的最優(yōu)特征子集。
然而,當(dāng)前主流的這兩種特征選擇方法都有其顯著的缺陷。由于過(guò)濾式特征選擇方法的評(píng)價(jià)標(biāo)準(zhǔn)獨(dú)立于特定的學(xué)習(xí)算法,所選分類準(zhǔn)確率較低,另外過(guò)濾式特征選擇方法沒(méi)有考慮特征內(nèi)部的相關(guān)性,如果兩個(gè)內(nèi)部關(guān)聯(lián)性較強(qiáng)的特征與軟件缺陷的相關(guān)性都比較強(qiáng),過(guò)濾式特征選擇方法產(chǎn)生的特征子集將會(huì)存在很強(qiáng)的冗余信息,對(duì)于預(yù)測(cè)性能和精度都有一定的影響。包裹式特征選擇方法特征通用性不強(qiáng),當(dāng)改變學(xué)習(xí)算法時(shí),需要針對(duì)該學(xué)習(xí)算法重新進(jìn)行特征選擇,另外子集空間隨著特征數(shù)量的增加呈指數(shù)爆炸,算法性能隨之下降。
因此,如何結(jié)合特征內(nèi)部相關(guān)性和特征-缺陷相關(guān)性,降低特征數(shù)量帶來(lái)指數(shù)爆炸的影響,實(shí)現(xiàn)一種通用性高、準(zhǔn)確率指標(biāo)好的軟件缺陷特征選擇方法稱為了軟件缺陷預(yù)測(cè)領(lǐng)域需要解決的問(wèn)題。
發(fā)明內(nèi)容
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京高質(zhì)系統(tǒng)科技有限公司;北京航空航天大學(xué),未經(jīng)北京高質(zhì)系統(tǒng)科技有限公司;北京航空航天大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010116211.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 一種基于譜聚類算法的選擇性聚類集成方法
- 一種基于改進(jìn)譜聚類的搜索引擎排序方法與系統(tǒng)
- 基于快速選取地標(biāo)點(diǎn)的圖像譜聚類方法
- 一種基于超像素的模糊譜聚類腦腫瘤圖像自動(dòng)分割方法
- 一種基于譜旋轉(zhuǎn)的一步譜聚類方法
- 一種基于DTW-LASSO-譜聚類的消費(fèi)者聚類方法
- 一種考慮雙尺度相似性的負(fù)荷曲線集成譜聚類方法
- 基于譜聚類的子空間聚類算法的數(shù)據(jù)處理方法及裝置
- 一種譜聚類加速方法、系統(tǒng)、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種考慮改進(jìn)譜聚類與Bi-LSTM神經(jīng)網(wǎng)絡(luò)的沖擊性負(fù)荷預(yù)測(cè)方法
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法





