• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于關聯(lián)規(guī)則的網(wǎng)絡軟件缺陷預測方法

      2020-03-16 02:31:32徐思婕
      電子技術與軟件工程 2020年24期
      關鍵詞:軟件缺陷關聯(lián)規(guī)則

      徐思婕

      (哈爾濱工程大學計算機科學與技術學院 黑龍江省哈爾濱市 150001)

      由于信息技術的不斷發(fā)展和進步,每天都有大量的軟件問世,軟件復雜程度也不斷提升,在互聯(lián)網(wǎng)技術的支持之下,基本上所有軟件都可以聯(lián)網(wǎng),網(wǎng)絡雖然給軟件的使用帶來了諸多便利,但是其弊端即軟件缺陷也逐漸暴露出來了,軟件缺陷對人們生活的方方面面都產(chǎn)生了極為深刻的影響。為了降低軟件缺陷對軟件使用效果產(chǎn)生的影響,為廣大用戶提供更加便捷優(yōu)質的服務,文章嘗試對一種基于關聯(lián)規(guī)則的網(wǎng)絡軟件缺陷預測方法進行分析和論述。該研究是建立在前人理論與實踐分析基礎之上提出來的。據(jù)相關學者研究表明,當前對軟件缺陷進行研究的主要是基于統(tǒng)計分析學方法、神經(jīng)網(wǎng)絡的軟件缺陷預測模型、機器學習算法等。在具體的測試過程中不同的研究方法所產(chǎn)生的作用效果有著較大的差異。而本文在深入總結前人研究的基礎之上,認為可以運用關聯(lián)規(guī)則對網(wǎng)絡軟件缺陷進行分析和預測,當前關聯(lián)規(guī)則廣泛應用于商業(yè)、移動通信以及網(wǎng)絡安全等領域,其以數(shù)據(jù)為基礎,通過深入的分析和挖掘網(wǎng)絡數(shù)據(jù)之間潛在的聯(lián)系,對可能存在的缺陷進行分析。

      1 網(wǎng)絡軟件缺陷預測存在的問題

      軟件缺陷預測技術對于提高軟件質量,保證軟件可靠性有著重要的意義。從上述國內(nèi)外的研究現(xiàn)狀可以看出,目前研究者已經(jīng)在軟件缺陷預測領域取得了豐碩的研究成果,但是仍存在一些不足,主要體現(xiàn)在以下兩點。

      (1)類不平衡問題和維度爆炸影響軟件缺陷預測模型的精度。特征選擇是解決維度爆炸問題的一種有效手段,通過特征選擇篩除冗余特征和無關特征,選取最優(yōu)特征子集,提高軟件缺陷預測模型的效果。但當前的研究方法中在特征選擇階段未考慮到軟件缺陷數(shù)據(jù)集中的類不平衡問題,類不平衡問題會導致預測模型在缺陷模塊的識別率較低,在一定程度上阻礙了軟件缺陷預測模型的效果。

      (2)軟件漏洞是一種特殊的軟件缺陷,其成因與程序語義信息密切相關。傳統(tǒng)的軟件缺陷預測技術利用軟件度量等專家定義的特征來構建機器學習模型實現(xiàn)軟件缺陷預測,然而軟件度量僅是對軟件規(guī)模和性質的量化,未考慮源代碼中函數(shù)調用關系、數(shù)據(jù)流等語義信息,不能準確的刻畫漏洞的行為模式,因此并不適用于軟件漏洞預測。深度學習算法在代碼的語義特征提取和表達方面表現(xiàn)優(yōu)越,但不擅長分類問題,因此難以達到很好的漏洞預測效果。

      2 網(wǎng)絡軟件缺陷預測

      2.1 網(wǎng)絡軟件缺陷預測概述

      圖1:網(wǎng)絡軟件缺陷預測架構

      圖2

      網(wǎng)絡軟件缺陷預測過程中,由于數(shù)據(jù)分布、數(shù)據(jù)特征、軟件質量等多種因素的影響,可能會導致預測算法或者是模型與實際預算存在顯著差異。在實際測試過程中,為了保證測試的準確性,通常會將所選取的數(shù)據(jù)樣本分為有效數(shù)據(jù)樣本與失效數(shù)據(jù)樣本兩大類,而在測試過程中重點就在于分析失效數(shù)據(jù)樣本,明確數(shù)據(jù)失效的原因,是了解缺陷發(fā)生原因、特征以及規(guī)律的關鍵所在。

      當前在進行軟件缺陷預測分析時,主要有神經(jīng)網(wǎng)絡算法、貝葉斯網(wǎng)絡、機器學習法、遷移學習等。在該領域有所研究的學者和專家借助這些研究方法取得了諸多研究成果。但是,這些預測方法在應用的時候卻并沒有充分的考慮到外部環(huán)境中影響軟件質量、可靠性等不確定性因素,對于這些因素考慮少,勢必會降低缺陷預測結果的準確性,如軟件的內(nèi)部缺陷就難以有效的被上述預測方法預測出來?;陉P聯(lián)規(guī)則的網(wǎng)絡軟件預測缺陷方法,其運用優(yōu)勢就在于其不再只是單獨的對有效數(shù)據(jù)樣本進行預測分析,同時其也充分的考慮到了失效數(shù)據(jù)樣本,注重對兩種數(shù)據(jù)樣本同時進行分析和預測,這樣做的優(yōu)勢在于可以有效的降低預測偏差,優(yōu)化預測結果。

      2.2 網(wǎng)絡軟件缺陷預測架構

      一般來說,網(wǎng)絡軟件缺陷預測模型的架構可以分為缺陷數(shù)據(jù)采集、缺陷數(shù)據(jù)預處理、引入預測算法、預測模型構建、預測模型測試與驗證五個部分,其模型架構如圖1 所示。

      在對目標軟件的源代碼或者是缺陷軟件數(shù)據(jù)庫中的樣本進行采集、然后統(tǒng)一分析和處理,將關聯(lián)規(guī)則算法引入到數(shù)據(jù)樣本分析之中,對數(shù)據(jù)樣本內(nèi)容進行有效的計算和分析,然后快速的生成預測模型。在具體的預測過程中可以嘗試多種參數(shù)值,反復預測,以便獲得更加真實的數(shù)據(jù)結果,提高預測的準確性,減少外界因素對預測產(chǎn)生的干擾。

      3 關聯(lián)規(guī)則及關聯(lián)分類器

      3.1 關聯(lián)分類法

      分類關聯(lián)規(guī)則可以全面真實的反映出數(shù)據(jù)的描述性關聯(lián)特性以及可以用于分類的特征。如關聯(lián)規(guī)則X=>Y,其中X 為前置事件,表示數(shù)據(jù)描述性關聯(lián)規(guī)則,Y 為后置事件,表示分類特征。如“respect>0.5127oravg>0.2563=>result=1”中,前置事件為“respect>0.5127oravg>0.2563”,后置事件為“result=1”。關聯(lián)分類法應用的基本過程中,可以分為以下幾個步驟,即對所收集到的數(shù)據(jù)進行離散化處理;在離散化處理完畢之后,獲取關聯(lián)分類規(guī)則;然后再采用分類器構建算法構造分類器;最后利用構造的分類器進行更加深入的研究和實驗。

      3.2 關聯(lián)規(guī)則生成算法

      在應用關聯(lián)規(guī)則的生成算法時,可以將Apriori 算法或者是FPTree 算法融入其中,借助該算法對可以生出更加具有規(guī)則性的集合,其中,置信度由c 表示、支持度由s 表示,前置的相關定理如下所示:

      定理1 假設x 和y 是數(shù)據(jù)集中的項目集中的項目集,如果x∈y,同時y 為大項目集的情況下,那么就說明X 也是大項目集,反之相關關系則不成立。

      定理2 假設x=>y,那么對應的項目集則是x∪y,這種情況下也一定是一個大項目集,反之則說明大項目集不成立。

      在缺陷預測期間,通過對數(shù)據(jù)的分析記錄,對各個激勵進行關聯(lián)規(guī)則的計算,最終形成一個結論集,通過該結論集為后期的分類關聯(lián)規(guī)則生成奠定良好的基礎。

      4 實驗過程

      為了更好的驗證基于關聯(lián)規(guī)則的網(wǎng)絡軟件缺陷預測方法的有效性:文章嘗試以具體的案例作為實驗研究對象,本案例研究由以下三個步驟組成。如圖2 為基于CAT 靜態(tài)分析工具的檢索結果。

      (1)缺陷檢索。圖2 左上角顯示了一個C#的源代碼文件,包含了循環(huán)結構和選擇結構。通過靜態(tài)分析,可以注意到有四個缺陷,并且給出相關的語法規(guī)則。如果用戶選擇一個缺陷,該工具將顯示該缺陷的詳細信息。在這一部分中可以發(fā)現(xiàn)這個缺陷的一些屬性,如目標,身份,位置等。對用戶來說更意外的是,該工具提供了這個缺陷的解決方案,以便于調試方便用戶。

      (2)錯誤分類,通過基于CAT 的靜態(tài)分析,發(fā)現(xiàn)了一些缺陷。為了調試這些缺陷,用戶需要知道缺陷屬于哪個類型。因此,有必要進行分類過程,根據(jù)缺陷規(guī)則,這些缺陷被分類。例如,缺陷“arg(字符串)”(缺陷的實名)被安排為類型二,和類型三(非可執(zhí)行節(jié)點)。因為其他缺陷不符合缺陷規(guī)則,所以它們被歸類為其他缺陷。

      (3)反饋。為了提高缺陷檢索的準確性,識別這些缺陷是很重要的。因此,需要邀請一些有經(jīng)驗的開發(fā)人員來決定這些缺陷的真相。當開發(fā)人員單擊按鈕(評級)時,就可以選擇相關的項目來判斷所選缺陷的真實性。

      5 結論

      現(xiàn)如今,人們的生產(chǎn)生活可以說已經(jīng)離不開網(wǎng)絡軟件了,許多網(wǎng)絡軟件上還包含有用戶的各種隱私信息,如果軟件存在有多種缺陷,那么用戶的人身以及財產(chǎn)安全就將會因此而受到影響。所以說,對網(wǎng)絡軟件缺陷進行預測就顯得極為有必要了。當前,用于網(wǎng)絡軟件缺陷預測的方法多種多樣,而相較于其他的預測方法來說,關聯(lián)規(guī)則的優(yōu)勢就在于其使得預測的精確度更高,可以對軟件進行全方面的分析和評估,在對缺陷進行準確預測之后,可以有針對性的對軟件存在的不足予以優(yōu)化和調整,進而給予用戶更好的軟件使用體驗。

      猜你喜歡
      軟件缺陷關聯(lián)規(guī)則
      撐竿跳規(guī)則的制定
      數(shù)獨的規(guī)則和演變
      基于源文件可疑度的靜態(tài)軟件缺陷檢測方法研究
      “一帶一路”遞進,關聯(lián)民生更緊
      當代陜西(2019年15期)2019-09-02 01:52:00
      基于NPE-SVM的軟件缺陷預測模型
      奇趣搭配
      讓規(guī)則不規(guī)則
      Coco薇(2017年11期)2018-01-03 20:59:57
      開源程序的軟件缺陷分布特征的量化分析研究
      智趣
      讀者(2017年5期)2017-02-15 18:04:18
      TPP反腐敗規(guī)則對我國的啟示
      花莲县| 阿拉善右旗| 庆城县| 巴彦县| 晋江市| 隆德县| 赤水市| 疏勒县| 郑州市| 福安市| 张家界市| 岑巩县| 福贡县| 加查县| 潼南县| 天等县| 南部县| 东莞市| 兰考县| 永泰县| 新巴尔虎左旗| 上饶县| 金门县| 清原| 屯昌县| 文登市| 九台市| 元江| 松潘县| 岱山县| 温泉县| 建始县| 明星| 江安县| 苏尼特左旗| 本溪市| 兴仁县| 四子王旗| 贞丰县| 富源县| 弥勒县|