《軟體缺陷預測的度量元有效性及建模算法研究》是依託中山大學,由楊曉杏擔任項目負責人的青年科學基金項目。
基本介紹
- 中文名:軟體缺陷預測的度量元有效性及建模算法研究
- 項目類別:青年科學基金項目
- 項目負責人:楊曉杏
- 依託單位:中山大學
中文摘要,結題摘要,
中文摘要
隨著軟體質量備受關注,基於度量元的軟體缺陷預測成為軟體工程領域的研究熱點,它利用軟體模組的各種特徵構造模型,預測新模組的缺陷信息。目前軟體缺陷預測存在有效度量元較少、構造的模型與理想模型差距較大等問題。為解決這些問題,本課題擬針對度量元的有效性及建模算法進行研究。首先,針對軟體缺陷預測有效度量元不足的現狀,分析軟體模組的各種因素對缺陷的影響,將尚未用於預測但對缺陷影響較大的因素作為新度量元,提供更能區分缺陷的數據。其次,結合模型的套用目的,提出基於有效性及冗餘度的目標驅動度量元選擇方法。最後,研究可用測試資源有限時的建模算法,提出可用測試資源有限的情況下分類任務缺陷預測的多目標算法,並針對現有缺陷預測排序學習算法的不足提出改進方案,提高預測模型的性能,並給出相應的資源分配策略。本項目的研究將推動解決軟體缺陷預測的一系列關鍵問題,為缺陷預測模型在實際軟體工程的套用和推廣打下堅實的基礎。
結題摘要
基於度量元的軟體缺陷預測利用軟體模組的度量元信息構造預測模型,用於預測新模組的缺陷信息,這些缺陷信息不但能反映軟體模組的質量,還能用於指導測試資源的分配,因此具有較好的套用前景。目前,軟體缺陷預測相關的公開數據集有較多的噪音度量元,構造的預測模型與理想模型還有較大差距。因此,本課題針對度量元的有效性及建模算法進行研究。首先,針對排序任務軟體缺陷預測度量元分析較為缺乏的現狀,分析公開數據集的度量元有效性以及分析度量元對排序任務缺陷預測的影響,並結合模型的套用目的,提出基於有效性及冗餘度的目標驅動度量元選擇方法;其次,研究可用測試資源有限時的建模算法,提出可用測試資源有限的情況分類任務缺陷預測的多目標算法,並比較分類任務軟體缺陷預測的多目標算法與單目標算法;最後,針對現有缺陷預測排序學習算法的不足提出改進方案,提高預測模型的性能。具體而言,本課題主要完成了以下成果:(1)提出一種目標驅動的度量元選擇方法,並分析跨版本數據集的度量元有效性,找出較為有效的一些度量元;(2)使用效果、代價以及二者的折中作為最佳化目標,更合理地比較分類任務軟體缺陷預測的多目標學習算法和單目標學習算法,從而指導實際情況的算法選擇;(3)提出使用嶺回歸和lasso回歸方法構造軟體缺陷預測回歸模型,從而更好地解決軟體缺陷預測數據集中的多重共線性問題;(4)提出基於排序學習方法的集成算法,從而改進現有軟體缺陷預測的排序學習算法,提高預測模型的排序性能;(5)提出構造軟體缺陷預測模型的多目標學習算法,不但可以得到一組在排序性能、預測精度上各有優勢的多樣化的預測模型,以供不同的套用場景使用,並且這些模型的複雜度更低。