<td id="wyyyw"><noscript id="wyyyw"></noscript></td>
  • <xmp id="wyyyw"><table id="wyyyw"></table>
  • 基于極限學習機的軟件缺陷預測探討

    論文價格:150元/篇 論文用途:碩士畢業論文 Master Thesis 編輯:碩博論文網 點擊次數:
    論文字數:27555 論文編號:sb2022060710010948150 日期:2022-06-23 來源:碩博論文網

    本文是一篇軟件工程碩士論文,本文提出了一種基于改進 SMOTE 自適應安全半監督極限學習機的軟件缺陷預測方法。該方法主要是在上面提及方法的基礎上對半監督極限學習機在無標記模塊的利用上引入了安全度的概念,通過對無標記模塊標記安全度,來減少那些對半監督極限學習機分類效果有負面影響的無標記模塊的影響。使用這種方法可以進一步提高無標記模塊的利用效率,使得半監督極限學習機的分類效果得到顯著提升。
    第一章 緒論
    1.1 缺陷預測的研究背景及意義
    二十一世紀以來,人們對電子電器產品的需求日益增加,這些凝聚著人們智慧的產品無一不給人們的生活帶來了極大的便利。軟件和計算設備無處不在的 2021 年[1],大約有 360 億個設備連接到互聯網[2],可以確保全球 54%的人口能夠上網使用各種軟件[3]。所有這些設備上運行著的軟件數量是非常龐大的。一個典型的例子是 iPhone 應用程序大約有 1 萬 5 千行代碼,Google 估計的其代碼庫約為 20 億行代碼[1]。至此人類的生活質量高低已經變得十分依賴于計算設備和軟件。
    這些設備都是使用軟件程序對硬件調用從而實現種種強大功能的。因此軟件的質量和可靠性變得十分重要,而軟件缺陷則是導致設備系統異常的主要原因之一,稍有不慎可能會造成非常嚴重的后果。構建軟件是一項獨特的工程工作,因為它涉及四個不同的特征:復雜性,一致性,可變性和隱形性,每一項都有可能導致軟件缺陷的產生[4]。軟件缺陷會導致昂貴的財產損失甚至危險的后果比如:單位轉換異常產生的軟件缺陷導致 NASA 火星氣候軌道器的墜毀最終損失價值 1.25 億美元,一個數字溢出錯誤使耗資 80 億美元開發的火箭阿麗亞娜 5墜毀,蘇聯最大的無核火箭的爆炸也歸因于軟件缺陷[5]。開發軟件需要花費大量的精力和金錢。劣質軟件開發的代價也很高[1]。2018 年,全球在 IT 和電信系統上的成本支出約為 4 萬億美元[6],但由于其軟件質量較差,僅在美國,這一損失就達到約 2.84 萬億美元[1]。盡管劣質軟件成本損失的近 37%歸因于軟件故障本身,但仍約有 17%用于發現和修復缺陷[1]。再比如:上個世紀九十年代,東歐阿利雅納-5 航空器因為軟件缺陷導致系統故障從而升空數秒后爆炸帶來了 30 多億人民幣的損失;二十多年前美國癌癥研究中心的放療機因為軟件缺陷造成使用放射量計算失誤,導致了數人死亡數十人受傷,并且后來又持續造成多人先后死亡。因此,要想擁有可靠的設備必須找出潛在的設備搭載軟件的缺陷[7]。
    ...............................
    1.2軟件缺陷預測研究現狀
    當前,大多數關于軟件缺陷預測的研究都是從兩個方面進行的:如何建立缺陷預測模型以及缺陷數據集中的相關問題。1992 年,當時的專家學者們首次提出了軟件缺陷預測技術(SDP)[8-10]。研究人員對此開始進行了迄今為止長達數十年的研究。這些年來,人們提出了基于機器學習的方法[11]并將其運用于 SDP,并慢慢成為大多數研究者所采用的方法。1997 年,一個通訊系統,包含 1400 萬行代碼,Allen 等人[12]建立了人工神經網絡模型和判別模型。比較這兩種模型,他們發現判別模型比神經網絡模型有著更好的分類性能。在 2002 年,Summers[13]提出了一種在軟件缺陷預測上有效的多層感知器(MLP)方法。同年,Mahaweeawat[14]使用徑向基函數(RBF)預測軟件缺陷,達到 83%的準確性和 60%的延遲準確性。與 MLP 的高效率和高檢驗開銷相比,RBF 受到了更多研究人員的認可,被廣泛運用于缺陷預測研究領域。2008,Lessmann 等[15]比較了二十多種基于機器學習的預測方法,包括統計方法,支持向量機(SVM)算法,決策樹方法,最近鄰算法(KNN)。最佳性能的機器學習方法之間并沒有太大的區別。研究者們首先查看數據集的類分布。其中,傳統方法包括過采樣和欠采樣的采樣方法。兩種最常用的方法是隨機過采樣,和隨機下采樣方法[16]。但是,使用過采樣方法,少數類模塊的多次復制會導致信息的重復堆砌,并且容易造成分類器過度擬合。下采樣方法會降低分類性能,因為相當部分多數類模塊被刪除會造成訓練數據中包含的信息丟失。Chawla[17]及其同事提出了 SMOTE 方法。這種方法用于軟件缺陷預測的數據預處理中以緩解類不平衡問題,其基本思路是對少數類模塊的分布進行分析,再將人為合成的少數類模塊安插在少數類模塊分布區域中,該方法解決了傳統過采樣方法的過擬合問題。Pelayo 及其同事[18]對 SMOTE 方法在實際應用中的效果進行研究,結果證實這個方法可以將缺陷預測模型的分類性能提高 22%。
    .........................
    第二章 相關背景知識介紹
    2.1軟件缺陷預測
    在本章開頭先是對軟件缺陷預測的有關概念進行了介紹,接著對缺陷預測研究領域中經常使用的算法模型進行梳理回顧。然后對常見項目內軟件缺陷預測進行介紹。最后,細致地論述了本文中提出方法的有關知識,涵蓋了初始的極限學習機和加權極限學習機。
    2.1.1 缺陷預測相關概念
    1)問題描述
    將待預測項目模塊分為有缺陷和沒有缺陷兩類,這就是軟件缺陷預測(Software  Defect Prediction,  SDP)。當研究人員使用機器學習相關方法進行缺陷預測時,往往要求有充足的有標簽數據來進行訓練,然后利用機器學習的相關方法來構建算法模型,最后對待預測數據進行分類。我們熟知的一些度量元,比如代碼行數[20],McCabe 環路復雜度[21]和 Hasstead 科學度量[22]等均和軟件質量有著千絲萬縷的聯系[23]。為人所熟知的軟件缺陷預測分為兩類,即項目內缺陷預測和跨項目缺陷預測。項目內缺陷預測可以較為輕松地使用同一個項目內數據進行模型訓練并使用該項目內剩余數據進行測試,滿足傳統機器學習中訓練數據和測試數據分布一致假設??珥椖咳毕蓊A測則是研究不滿足傳統機器學習假設時的情況,該研究的重點是如何使用源項目中大量有標記數據和目標中相關但是無標記的數據構建算法模型并對目標無標記模塊進行較為準確的預測。
    2)預測過程
    眾所周知,軟件缺陷預測的宗旨是較為準確地定位出那些有缺陷的軟件模塊,以便更加精準的對其進行人工測試。SDP 的完整處理過程主要包括四個階段:數據收集階段和特征選擇階段和模型構建階段。在數據收集階段中,主要通過包含項目源代碼以及缺陷的細節和其他軟件發展相關的數據的項目數據。在特征選擇階段中,有兩種指標或特征從源數據中提取出來,這些指標和特征通常和軟件模塊的復雜度以及修改次數等有關,將幫助預測缺陷。模型構建階段,預測模型使用下列三種手段構建:統計,機器學習方法和基于搜索的技術[24],在模型評估階段,使用訓練數據集訓練的預測模型將被測試數據集測試其準確度。
    ................................
    2.2極限學習機有關算法
    Huang  等人[40]在 2006 年,為了使單隱藏層前饋神經網絡具有良好的訓練效果,首次公開提出了極限學習機(ELM)的算法模型。傳統的反向傳播算法[41]是通過算法的迭代對神經網絡的權重與偏置向量進行不斷調整,而極限學習機則不需要這樣操作。它在隱藏層隨機生成輸入權重和偏置向量的值,最后借助廣義逆矩陣的理論數學求解得到輸出層的權重,正因為如此極限學習機的學習速度相比較傳統神經網絡算法快很多,并且部分緩解了傳統神經網絡算法容易過擬合的問題。
    為了緩解模塊的類不平衡問題,本章采用了 k-means&SMOTE 進行模塊的類不平衡處理。傳統的極限學習機只有一個隱藏層,這導致其對于特征的學習能力較其他深度學習方法偏弱。為了彌補極限學習機網絡層數少帶來的特征學習不充分的問題,本章引入了核函數。其次使用棧式去噪自編碼器進行輔助特征提取,不會過多增加時間開銷同時進一步解決了特征學習問題。本章先對核方法做簡單的介紹,再對本章提出的基于改進 SMOTE 的多核極限學習機算法進行詳細的闡述。

    軟件工程碩士論文怎么寫
    軟件工程碩士論文怎么寫

    ..........................
    第三章  基于改進 SMOTE 的多核極限學習機的軟件缺陷預測 ............................11
    3.1方法動機與思路 ....................................11
    3.1.1  核相關理論介紹 ....................................11
    3.1.2  方法模型 .................................. 12
    第四章  基于改進 SMOTE 的半監督極限學習機的軟件缺陷預測 ............................... 22
    4.1動機與思路 ............................. 22
    4.2方法介紹 ........................................ 22
    第五章  基于改進 SMOTE 的自適應安全半監督極限學習機的軟件缺陷預測 ................... 30
    5.1動機和思路 ................................... 30
    5.2方法介紹 ................................ 30
    第五章 基于改進 SMOTE 的自適應安全半監督極限學習機的軟件缺陷預測
    5.1動機和思路
    本章中,提出了一種基于改進 SMOTE 自適應安全半監督極限學習機的軟件缺陷預測方法(Adaptive  Safe  Semi-Supervised  Extreme  Learning  Machine  Based  on  Improved  SMOTE, ASELM)。該方法主要是在上一章方法的基礎上對半監督極限學習機在無標記數據的利用上引入了安全度的概念[53],通過對無標記數據標記安全度,來減少那些對半監督極限學習機分類效果有負面影響的無標記數據的影響。使用這種方法可以進一步提高無標記數據的利用效率,使得半監督極限學習機的分類效果得到顯著提升。下面將詳細說明本章方法的動機和思路,并對該方法的詳細步驟進行闡述,然后展示該方法在 NASA,AEEEM 和 ReLink 三個數據集上的實驗結果,并對這些結果進行分析。最后進行本章小結。

    軟件工程碩士論文參考
    軟件工程碩士論文參考

    上一章中涉及到的半監督極限學習機可以充分利用無標簽數據,解決了有監督極限學習機不能利用無標簽數據的問題。但不幸的是,不是所有無標簽數據對分類效果具有正向增益,某些無標簽數據反而會影響分類的效果。為了緩解這個問題帶來的影響,本章引入了安全度的概念。通過算法自動對無標簽數據標識安全度來提升半監督極限學習機的性能。
    ............................
    第六章   總結與展望
    61.論文工作總結
    近幾年來,軟件缺陷預測吸引著國內外相關專家學者們的目光。目前的軟件缺陷預測研究主要面臨著以往標記的有缺陷模塊不足的問題,通常為了緩解這個問題有的研究者會使用半監督學習來充分利用無標簽模塊增強訓練效果。盡管現有的半監督缺陷預測方法取得了不錯的效果,但是仍有很多改進的余地。極限學習機是一種單層前饋神經網絡,它可以隨機指定輸入層的權重值和偏置向量,利用廣義逆矩陣理論一次性求解出輸出層的權重,從而完成預測模型的構建。極限學習機具有結構簡單,泛化性強以及訓練速度快等優點。本文的主要研究成果簡要概括如下:
    首先,極限學習機是一種強大的機器學習算法,但是特征學習能力不夠強,本文提出了一種基于極限學習機的多核軟件缺陷預測方法。為了緩解模塊的類不平衡問題以及更好地幫助特征學習,本文采用了 k-means&SMOTE 進行模塊的類不平衡處理與棧式去噪自編碼器進行特征提取。
    其次,在軟件缺陷預測研究的實際應用中充斥著大量的無標記模塊,為充分利用這些無標記模塊使實際操作具有更高的可行性,本文提出了一種基于極限學習機的半監督軟件缺陷預測方法。為了緩解模塊的類不平衡問題,本文采用了 k-means&SMOTE 進行模塊的類不平衡處理。
    最后,本文提出了一種基于改進 SMOTE 自適應安全半監督極限學習機的軟件缺陷預測方法。該方法主要是在上面提及方法的基礎上對半監督極限學習機在無標記模塊的利用上引入了安全度的概念,通過對無標記模塊標記安全度,來減少那些對半監督極限學習機分類效果有負面影響的無標記模塊的影響。使用這種方法可以進一步提高無標記模塊的利用效率,使得半監督極限學習機的分類效果得到顯著提升。
    參考文獻(略)


    如果您有論文代寫需求,可以通過下面的方式聯系我們
    點擊聯系客服
    QQ 1429724474 電話 18964107217
    老熟女乱子伦你,11—12周岁毛片免费,好硬好大好爽水好多视频国语
    <td id="wyyyw"><noscript id="wyyyw"></noscript></td>
  • <xmp id="wyyyw"><table id="wyyyw"></table>