李 昭,彭小紅,謝仕義*,梁春林,趙 一,蔡莉華
(1.南方海洋科學(xué)與工程廣東省實(shí)驗(yàn)室(湛江) 南海資源大數(shù)據(jù)中心,廣東 湛江 524013;2.廣東海洋大學(xué) 數(shù)學(xué)與計算機(jī)學(xué)院,廣東 湛江 524088)
軟件缺陷在軟件研發(fā)過程中不可避免,其嚴(yán)重影響著軟件產(chǎn)品的質(zhì)量。由于在軟件研發(fā)過程中,缺陷修復(fù)得越晚,系統(tǒng)損失和修復(fù)成本就越大,因而研發(fā)人員希望在軟件生命周期的早期及時發(fā)現(xiàn)盡可能多的缺陷并修復(fù)缺陷[1]。然而受限于人力及時間成本,通常無法檢測全部組件,若能預(yù)先識別可能存在缺陷的組件及缺陷數(shù)量,將有限的測試資源合理分配給缺陷數(shù)更多的被測組件,這樣的解決方案實(shí)用性更強(qiáng)。軟件缺陷預(yù)測是提升軟件質(zhì)量的有效途徑,成為近年來研究的焦點(diǎn)[2-4]。雖然現(xiàn)有研究在缺陷傾向性和缺陷數(shù)預(yù)測方面已取得顯著成果,但從訓(xùn)練數(shù)據(jù)的平衡性和預(yù)測效能考慮,主要存在兩方面問題:(1)訓(xùn)練樣本存在不平衡性[5-7];(2)單一的回歸技術(shù)對有缺陷組件支持能力不足。
該文針對缺陷傾向性和缺陷數(shù)預(yù)測領(lǐng)域存在的訓(xùn)練數(shù)據(jù)不平衡和預(yù)測效能問題,研究基于SMOTE的均衡樣本數(shù)據(jù)構(gòu)建技術(shù)、面向缺陷數(shù)預(yù)測的回歸技術(shù)選取、支持先分類后回歸的缺陷數(shù)多步預(yù)測,以期推進(jìn)組件缺陷數(shù)多步預(yù)測和檢測修復(fù)研究與應(yīng)用的繼續(xù)深入。
大量研究對如何運(yùn)用二分類技術(shù)構(gòu)建缺陷預(yù)測模型進(jìn)行了廣泛探索[5,8],包括監(jiān)督學(xué)習(xí)(如決策樹、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等)、半監(jiān)督學(xué)習(xí)(如期望最大化算法)及無監(jiān)督學(xué)習(xí)(如K均值聚類、譜聚類等)。
文獻(xiàn)[5]將NASA數(shù)據(jù)集作為樣本數(shù)據(jù),提出基于協(xié)作表達(dá)分類的缺陷預(yù)測方法,可降低計算復(fù)雜度并提升分類效能,研究中設(shè)計了基于CRC的學(xué)習(xí)器,然后構(gòu)建基于CRC的預(yù)測器,對有缺陷組件和無缺陷組件進(jìn)行分類。文獻(xiàn)[9]采用同一軟件的七個歷史版本及相關(guān)特征來預(yù)測當(dāng)前版本的缺陷,研究中對樸素貝葉斯、決策樹和隨機(jī)森林算法的建模效果進(jìn)行了比較,通過分析模型的AUC值,發(fā)現(xiàn)隨機(jī)森林算法的預(yù)測效能最佳。文獻(xiàn)[10]在11種數(shù)據(jù)集上將15種不同的貝葉斯網(wǎng)絡(luò)分類器與其他經(jīng)典的缺陷預(yù)測方法進(jìn)行比較,實(shí)驗(yàn)結(jié)論建議采用貝葉斯網(wǎng)絡(luò)構(gòu)建具有較少節(jié)點(diǎn)的簡單且可理解的網(wǎng)絡(luò)。文獻(xiàn)[11]對比了13種機(jī)器學(xué)習(xí)方法,結(jié)果表明樸素貝葉斯、神經(jīng)網(wǎng)絡(luò)和基于實(shí)例的學(xué)習(xí)其效能優(yōu)于其他方法。
回歸技術(shù)通過度量軟件相關(guān)屬性以預(yù)測軟件組件包含的缺陷數(shù)。最初,文獻(xiàn)[12]提出了一種預(yù)測軟件組件中缺陷數(shù)的方法,研究中利用廣義線性回歸算法和軟件變更歷史指標(biāo)建立缺陷預(yù)測模型,結(jié)果表明,缺陷數(shù)預(yù)測提供了更多有價值信息,而不僅限于識別某一組件是否含有缺陷。文獻(xiàn)[6]探索了決策樹回歸(DTR)用于軟件同一版本內(nèi)和不同版本間缺陷預(yù)測的效能,實(shí)驗(yàn)分析采用了PROMISE數(shù)據(jù)集中5個開源軟件項(xiàng)目的19個版本,使用絕對誤差和相對誤差以評估DTR的預(yù)測精度,結(jié)果表明,決策樹回歸用于版本內(nèi)和版本間缺陷數(shù)預(yù)測能取得較高的準(zhǔn)確性。文獻(xiàn)[13]提出一種遺傳編程方法用于預(yù)測軟件系統(tǒng)的缺陷數(shù),并選用PROMISE數(shù)據(jù)集中10個軟件項(xiàng)目的缺陷數(shù)據(jù)開展實(shí)驗(yàn),采用預(yù)測模型的錯誤率、召回率和完整性指標(biāo)評估了方法的效能。文獻(xiàn)[14]通過逐步線性回歸算法構(gòu)建預(yù)測模型,以探索度量元對模型性能的影響。文獻(xiàn)[15]采用廣義線性回歸算法和回歸樹算法建立基準(zhǔn)模型,基于CK度量元和LOC度量元[16],使用遺傳算法自動搜索可優(yōu)化成本效益的內(nèi)部參數(shù),結(jié)果表明遺傳算法訓(xùn)練的回歸模型比傳統(tǒng)模型效能更高。
基于聚類技術(shù)的缺陷預(yù)測方法通過分析軟件特征與缺陷數(shù)據(jù)來建立軟件屬性與缺陷間的關(guān)聯(lián)關(guān)系。伴隨機(jī)器學(xué)習(xí)技術(shù)的蓬勃發(fā)展,采用聚類算法預(yù)測軟件缺陷也演化為重要的研究與應(yīng)用方向。文獻(xiàn)[17]建議為增強(qiáng)對軟件過程的控制并實(shí)現(xiàn)軟件的高可靠性,需在軟件生命周期早期使用K-means聚類技術(shù)對缺陷進(jìn)行預(yù)測,該方法已在NASA數(shù)據(jù)集進(jìn)行了驗(yàn)證,缺陷預(yù)測的準(zhǔn)確性較高。文獻(xiàn)[18]提出了一種面向同一軟件不同版本間的缺陷預(yù)測技術(shù),使用結(jié)構(gòu)信息對軟件類進(jìn)行聚類,然后識別每個類中的缺陷信息,利用同一類簇中的相關(guān)類進(jìn)行模型訓(xùn)練,而不是利用整個系統(tǒng)含有的類進(jìn)行訓(xùn)練。通過PROMISE數(shù)據(jù)集中8個開源軟件項(xiàng)目的29個版本開展實(shí)證研究,并結(jié)合多元線性回歸算法構(gòu)建預(yù)測模型,結(jié)果表明,基于同一類簇的預(yù)測模型其效能優(yōu)于基于整個系統(tǒng)全部類的模型。文獻(xiàn)[19]分析了混合模糊遺傳算法和基于模糊聚類的技術(shù),結(jié)果表明,在軟件缺陷嚴(yán)重性預(yù)測中,模糊聚類技術(shù)取得了較高效能。文獻(xiàn)[20]將無監(jiān)督分類技術(shù)用于缺陷預(yù)測,以規(guī)避不同類型軟件中缺陷的異構(gòu)性。
部分研究將聚類技術(shù)用于特征選擇,文獻(xiàn)[21]提出了一個新的特征選擇框架FECAR,該框架首先將原始特征劃分為k個類簇,然后在每個類簇中選取相關(guān)特征,實(shí)驗(yàn)結(jié)果驗(yàn)證了該框架對軟件缺陷預(yù)測的有效性。文獻(xiàn)[22]提出一種基于選擇策略的特征選擇方法,包含特征聚類和特征選擇兩個階段,應(yīng)用k-medoids方法實(shí)現(xiàn)了特征的有效聚類與排序。
由此可見,雖然目前國內(nèi)外有很多研究在缺陷傾向性預(yù)測、缺陷數(shù)預(yù)測和缺陷預(yù)測效能優(yōu)化方面進(jìn)行了大量卓有成效的工作,特別是解決問題的方法有很多可借鑒之處,但直接針對組件缺陷數(shù)多步預(yù)測及其效能提升、準(zhǔn)確性更高且實(shí)用性更強(qiáng)的預(yù)測理論和技術(shù)還相當(dāng)缺乏。
缺陷預(yù)測中,大多數(shù)常用開源數(shù)據(jù)集普遍存在訓(xùn)練樣本不平衡問題,即訓(xùn)練樣本中有缺陷組件遠(yuǎn)少于無缺陷組件,且現(xiàn)有技術(shù)缺乏對樣本數(shù)據(jù)不平衡問題的處理,導(dǎo)致訓(xùn)練出的模型其預(yù)測效能偏向于無缺陷組件,弱化了對有缺陷組件的兼顧,降低了預(yù)測的準(zhǔn)確性。需選用合適的技術(shù)并設(shè)置合理的參數(shù)對數(shù)據(jù)集中有缺陷組件樣本進(jìn)行過采樣,生成均衡的樣本數(shù)據(jù)集,應(yīng)能有效支持組件缺陷數(shù)多步預(yù)測,提升預(yù)測的準(zhǔn)確性。
該文通過合成少數(shù)類過采樣技術(shù)(synthetic minority over-sampling technique,SMOTE)[23]對不均衡的樣本數(shù)據(jù)集中有缺陷組件(少數(shù)類樣本)進(jìn)行過采樣,生成新的有缺陷組件樣本,將新生成的樣本與原有數(shù)據(jù)集進(jìn)行合并,增加有缺陷組件在數(shù)據(jù)集中的占比,獲取有缺陷組件數(shù)與無缺陷組件數(shù)均衡的樣本數(shù)據(jù)集,以增強(qiáng)預(yù)測模型對有缺陷組件的偏好,為缺陷數(shù)多步預(yù)測提供均衡的樣本數(shù)據(jù)集支持。鑒于缺陷樣本數(shù)據(jù)集通常存在嚴(yán)重的數(shù)據(jù)類不平衡問題,SMOTE技術(shù)可提供有效的解決方案支持。
若樣本數(shù)據(jù)集中有缺陷組件數(shù)為t,設(shè)需合成的新的有缺陷組件數(shù)為(n/100)*t,即原有樣本數(shù)的n%,其中n≠ 0,通過SMOTE技術(shù)進(jìn)行有缺陷組件過采樣的具體步驟如下:
Step1:對n進(jìn)行判斷,若n<100,則令t=(n/100)*t,即從t個有缺陷組件中隨機(jī)選取(n/100)*t個樣本,構(gòu)成新的有缺陷組件樣本集,且令n=100,隨后執(zhí)行Step2;若n≥100,則直接執(zhí)行Step2。
Step2:令n=(int)(n/100),即對n/100取整并重新賦值給n。使用歐氏距離依次計算t個有缺陷組件樣本中每個樣本Si與其余各個有缺陷組件樣本間的距離,其中i=1,2,…,t,依此找到與Si距離最近的k個近鄰樣本。
Step3:針對每個樣本Si,在其k個近鄰樣本中隨機(jī)選擇一個樣本Sj,其中j∈{1,2,…,k},計算該樣本與初始樣本Si間的歐氏距離D(Sj,Si),隨機(jī)生成一個0到1之間的數(shù)字r,依此計算生成一個新的有缺陷組件樣本Snew,定義如公式(1)所示:
Snew=Si+r?D(Sj,Si)
(1)
重復(fù)n次執(zhí)行Step3,獲取n個新樣本,其中Snew位于Si與Sj間的連接線上。
Step4:針對t個有缺陷組件樣本依次執(zhí)行Step3,直到初始的t個有缺陷組件樣本均生成了對應(yīng)的新樣本,獲取n*t個新樣本。
通過合理設(shè)置k的值,生成新的有缺陷組件,將新生成的有缺陷組件與初始樣本數(shù)據(jù)集進(jìn)行合并,獲取有缺陷組件數(shù)與無缺陷組件數(shù)均衡的新數(shù)據(jù)集。
鑒于缺陷樣本數(shù)據(jù)集包含冗余的缺陷特征,依據(jù)均衡的樣本數(shù)據(jù)集,采用主成分分析技術(shù)(principal component analysis,PCA)[24]自動抽取對目標(biāo)變量具有較高貢獻(xiàn)的主要缺陷特征,實(shí)現(xiàn)特征降維與優(yōu)化,降低建模的開銷。將降維后的均衡樣本數(shù)據(jù)集劃分為訓(xùn)練集和測試集,采用支持向量機(jī)(support vector machine,SVM)[25-26]算法并結(jié)合訓(xùn)練數(shù)據(jù)訓(xùn)練獲取缺陷傾向性預(yù)測模型,基于測試集評估模型的性能,利用預(yù)測模型對待測組件進(jìn)行缺陷傾向性預(yù)測(預(yù)測某一組件是否含有缺陷),獲取軟件組件缺陷傾向性預(yù)測結(jié)果。鑒于缺陷數(shù)預(yù)測的主要目的在于更快地發(fā)現(xiàn)并修復(fù)盡可能多的缺陷,預(yù)測模型應(yīng)聚焦有缺陷組件,因此篩除缺陷傾向性預(yù)測結(jié)果中無缺陷組件,構(gòu)建僅包含有缺陷組件的樣本數(shù)據(jù)集,以增強(qiáng)后續(xù)回歸技術(shù)對有缺陷組件的偏好。利用回歸技術(shù)并結(jié)合僅含有缺陷組件的樣本數(shù)據(jù)集訓(xùn)練獲取缺陷數(shù)預(yù)測模型,評估模型性能并利用模型預(yù)測待測組件所含缺陷數(shù),構(gòu)建缺陷數(shù)等級(依據(jù)每個組件所含缺陷數(shù),按降序依次排列的各個組件),依據(jù)缺陷數(shù)等級優(yōu)先檢測并修復(fù)缺陷數(shù)較多的組件,有效實(shí)現(xiàn)組件缺陷數(shù)多步預(yù)測,提升預(yù)測準(zhǔn)確性。支持先分類后回歸的缺陷數(shù)多步預(yù)測方法體系結(jié)構(gòu)如圖1所示。
圖1 缺陷數(shù)多步預(yù)測體系結(jié)構(gòu)
均衡的缺陷樣本數(shù)據(jù)集包含部分冗余特征,因此首先采用PCA技術(shù)對樣本數(shù)據(jù)集進(jìn)行特征降維與優(yōu)化,獲取特征優(yōu)化后的數(shù)據(jù)集。
通過支持向量機(jī)并結(jié)合訓(xùn)練數(shù)據(jù)訓(xùn)練獲取缺陷傾向性預(yù)測模型。
鑒于組件缺陷數(shù)預(yù)測的目的在于更快地發(fā)現(xiàn)并修復(fù)盡可能多的缺陷,預(yù)測模型應(yīng)聚焦有缺陷組件,因此篩除缺陷傾向性預(yù)測結(jié)果中無缺陷組件,構(gòu)建僅包含有缺陷組件的樣本數(shù)據(jù)集,以增強(qiáng)后續(xù)回歸技術(shù)對有缺陷組件的偏好。
采用回歸算法并結(jié)合僅包含有缺陷組件的分類結(jié)果,訓(xùn)練獲取缺陷數(shù)預(yù)測模型,評估模型性能并利用模型預(yù)測待測組件所含缺陷數(shù),生成缺陷數(shù)等級(依據(jù)每個組件所含缺陷數(shù),按降序依次排列的各個組件),依據(jù)缺陷數(shù)等級優(yōu)先檢測并修復(fù)缺陷數(shù)較多的組件,構(gòu)建支持先分類后回歸的缺陷數(shù)多步預(yù)測方法,有效實(shí)現(xiàn)組件缺陷數(shù)多步預(yù)測,提升預(yù)測準(zhǔn)確性。缺陷數(shù)多步預(yù)測數(shù)據(jù)流程如圖2所示。
圖2 缺陷數(shù)多步預(yù)測數(shù)據(jù)流程
組件缺陷數(shù)預(yù)測屬于典型的回歸問題,鑒于梯度提升回歸(gradient boosting regression,GBR)[27]和線性回歸(linear regression,LR)[27]在軟件缺陷數(shù)預(yù)測中取得的較好效能[28],該文分別選用以上兩種算法,依次訓(xùn)練并生成對應(yīng)的缺陷數(shù)預(yù)測模型,獲取對應(yīng)的缺陷數(shù)等級,實(shí)現(xiàn)先分類后回歸的缺陷數(shù)多步預(yù)測。
支持先分類后回歸的組件缺陷數(shù)多步預(yù)測方法包含如下步驟:
Step1:通過SMOTE技術(shù)對不均衡樣本數(shù)據(jù)集中的有缺陷組件樣本進(jìn)行過采樣,生成有缺陷組件與無缺陷組件均衡的新數(shù)據(jù)集。
Step2:采用PCA技術(shù)對均衡的樣本數(shù)據(jù)集進(jìn)行特征降維與優(yōu)化,獲取特征優(yōu)化后的數(shù)據(jù)集。
Step3:通過SVM算法并結(jié)合降維后的均衡樣本數(shù)據(jù)集訓(xùn)練獲取缺陷傾向性預(yù)測模型,利用模型對待測組件進(jìn)行缺陷傾向性預(yù)測,即第一步預(yù)測(分類),獲取組件缺陷傾向性預(yù)測結(jié)果。
Step4:篩除分類結(jié)果中的無缺陷組件,構(gòu)建僅包含有缺陷組件的樣本數(shù)據(jù)集。
Step5:利用回歸算法并結(jié)合僅含有缺陷組件的樣本數(shù)據(jù)集訓(xùn)練并構(gòu)建缺陷數(shù)預(yù)測模型,通過模型預(yù)測每個組件的缺陷數(shù),即第二步預(yù)測(回歸),構(gòu)建缺陷數(shù)等級,測試人員依據(jù)缺陷數(shù)等級優(yōu)先檢測并修復(fù)缺陷數(shù)較多的組件,實(shí)現(xiàn)更準(zhǔn)確的缺陷預(yù)測。
本節(jié)采用PROMISE開源數(shù)據(jù)集[29]開展實(shí)驗(yàn)驗(yàn)證,該數(shù)據(jù)集常用于軟件缺陷預(yù)測[30-31],選取該數(shù)據(jù)集中10個開源項(xiàng)目36個版本的樣本數(shù)據(jù),每個版本包含靜態(tài)代碼屬性和數(shù)據(jù)屬性,靜態(tài)代碼屬性包含組件的20個特征。
由于PROMISE的樣本數(shù)據(jù)只包含組件的缺陷數(shù)標(biāo)簽,并未對組件的缺陷傾向性進(jìn)行標(biāo)注,而在組件缺陷傾向性預(yù)測時,需將缺陷傾向性標(biāo)簽加入樣本數(shù)據(jù),即需明確各個組件為“有缺陷”或“無缺陷”。因此,該文依據(jù)數(shù)據(jù)集提供的各組件所含缺陷數(shù)對其缺陷傾向性進(jìn)行標(biāo)注,將至少含有1個缺陷的組件標(biāo)注為1,將含有0個缺陷的組件標(biāo)注為0,數(shù)字1代表有缺陷組件,數(shù)字0代表無缺陷組件。
依據(jù)收集的實(shí)驗(yàn)數(shù)據(jù),本節(jié)首先采用SMOTE技術(shù)對不均衡實(shí)驗(yàn)數(shù)據(jù)集中的有缺陷組件樣本進(jìn)行過采樣,k值設(shè)置為3,生成新的均衡樣本數(shù)據(jù)集。基于均衡的樣本數(shù)據(jù)集,利用PCA技術(shù)對20個特征進(jìn)行降維與優(yōu)化,將PCA的主成分比例參數(shù)設(shè)置為0.8,獲取降維后的均衡樣本數(shù)據(jù)集。按照4∶1的比例將數(shù)據(jù)集隨機(jī)劃分為訓(xùn)練集和測試集,SVM算法沿用默認(rèn)參數(shù),通過SVM并結(jié)合降維后的均衡樣本數(shù)據(jù)集訓(xùn)練獲取缺陷傾向性預(yù)測模型,利用模型對樣本數(shù)據(jù)進(jìn)行分類,獲取分類結(jié)果。篩除分類結(jié)果中的無缺陷組件,構(gòu)建僅包含有缺陷組件的樣本數(shù)據(jù)集?;趦H包含有缺陷組件的樣本數(shù)據(jù)集,分別采用梯度提升回歸(GBR)和線性回歸(LR)算法訓(xùn)練生成對應(yīng)的缺陷數(shù)預(yù)測模型。最后將先分類后回歸的多步預(yù)測方法與直接使用回歸技術(shù)的預(yù)測方法進(jìn)行效能評估與對比,由于該文關(guān)注組件缺陷數(shù)的預(yù)測和排序結(jié)果,因此采用Spearman相關(guān)系數(shù)[32]和Kendall相關(guān)系數(shù)[33]來評估方法的效能。
本節(jié)使用Strategy-1代表該文所提先分類后回歸的缺陷數(shù)多步預(yù)測方法,Strategy-2代表僅用回歸技術(shù)的預(yù)測方法。圖3顯示了僅使用GBR的預(yù)測以及使用SMOTE-SVM結(jié)合GBR的多步預(yù)測效能的柱狀圖。由圖3可知,36個項(xiàng)目版本中,在Spearman相關(guān)系數(shù)上,Strategy-1相比Strategy-2在23個版本中效能得到提升,GBR的Spearman相關(guān)系數(shù)取值范圍在(-0.35,0.31)之間,Strategy-1的Spearman相關(guān)系數(shù)取值范圍在(-0.39,1)之間,且在ant-1.3、camel-1.0、poi-2.0三個項(xiàng)目版本上的Spearman相關(guān)系數(shù)為1,明顯優(yōu)于Strategy-2。在Kendall相關(guān)系數(shù)得分上,Strategy-1在22個項(xiàng)目上的表現(xiàn)優(yōu)于Strategy-2,且在ant-1.3、camel-1.0、poi-2.0三個項(xiàng)目版本上的Kendall相關(guān)系數(shù)同樣為1,表明Strategy-1適用于對這三個項(xiàng)目版本建模??傮w來說,先分類后回歸的多步預(yù)測方法可在一定程度上提升組件缺陷數(shù)預(yù)測的效能。
圖3 多步預(yù)測與單一使用GBR預(yù)測在不同版本上的預(yù)測效能
由于篇幅的限制,本節(jié)僅通過圖4闡釋多步預(yù)測與單一使用LR預(yù)測的效能評價結(jié)果。同理,由圖4可知,單純使用LR所建預(yù)測模型的Spearman相關(guān)系數(shù)和Kendall相關(guān)系數(shù)的得分最大值分別為0.42和0.29,而多步預(yù)測在這兩項(xiàng)指標(biāo)上的得分最大值均為1,多步預(yù)測在36個項(xiàng)目版本的評估結(jié)果中,22個版本的Spearman相關(guān)系數(shù)得分和20個版本的Kendall相關(guān)系數(shù)得分優(yōu)于單純使用LR的預(yù)測。
圖4 多步預(yù)測與單一使用LR預(yù)測在不同版本上的預(yù)測效能
該文重點(diǎn)討論了通過建立均衡的樣本數(shù)據(jù)集且基于先分類后回歸的缺陷數(shù)多步預(yù)測方法提升軟件缺陷數(shù)預(yù)測效能的問題。首先,針對缺陷預(yù)測中訓(xùn)練數(shù)據(jù)不平衡的問題,提出采用SMOTE技術(shù)構(gòu)建均衡樣本數(shù)據(jù)集,即通過SMOTE技術(shù)對不均衡的樣本數(shù)據(jù)集中有缺陷組件進(jìn)行過采樣,兼顧不同類別樣本占比,構(gòu)建均衡的樣本數(shù)據(jù)集,提升預(yù)測的準(zhǔn)確性。其次,瞄準(zhǔn)單一回歸技術(shù)對有缺陷組件缺陷數(shù)預(yù)測的支持能力不足問題,提出了支持先分類后回歸的缺陷數(shù)多步預(yù)測方法,該方法利用分類技術(shù)(SVM)生成缺陷傾向性預(yù)測結(jié)果(分類步驟),篩除缺陷傾向性預(yù)測結(jié)果中無缺陷組件,構(gòu)建僅包含有缺陷組件的樣本數(shù)據(jù)集,以增強(qiáng)后續(xù)回歸技術(shù)對有缺陷組件的偏好。依據(jù)選取的回歸技術(shù)并結(jié)合僅含有缺陷組件的樣本數(shù)據(jù)集訓(xùn)練獲取缺陷數(shù)預(yù)測模型(回歸步驟),構(gòu)建缺陷數(shù)等級,進(jìn)一步提升缺陷數(shù)預(yù)測效能。最后,通過典型開源數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)實(shí)證與效能評估,證實(shí)了文中方法的有效性和實(shí)用性。