軟件工程中的數(shù)據(jù)挖掘綜述_第1頁
軟件工程中的數(shù)據(jù)挖掘綜述_第2頁
軟件工程中的數(shù)據(jù)挖掘綜述_第3頁
軟件工程中的數(shù)據(jù)挖掘綜述_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、軟件工程中的數(shù)據(jù)挖掘綜述 一、數(shù)據(jù)挖掘技術在軟件工程中的應概述 1、挖掘執(zhí)行記錄 其應用的本質(zhì)是通過跟蹤相應的執(zhí)行路徑,然后通過逆向建模實現(xiàn)其目的,其作用在于維護、驗證和了解程序。執(zhí)行記錄挖掘的應用過程,通常是先初步插裝被分析的系統(tǒng),并對由挖掘軟件對應用編程接口,或是基本的系統(tǒng)和模塊調(diào)用的狀態(tài)變量進行記錄,最后約簡、聚類和過濾目標跟蹤所得的信息,最終使其成為能夠表征系統(tǒng)功能的模型。 2、檢測漏洞 軟件漏洞檢測的目的,主要在于及時的找出軟件開發(fā)中存在的漏洞或錯誤,確保能夠得到盡快的修復和完善,確保軟件的質(zhì)量及可靠性。一般數(shù)據(jù)挖掘技術應用于軟件漏洞的檢測,首先需確定對應的軟件測試項目,并基于用戶的

2、需求,規(guī)劃出軟件測試的具體內(nèi)容,進而決定該用什么樣的方式進行測試,從而制定出對策和計劃;然后收集漏洞庫數(shù)據(jù),實施數(shù)據(jù)的清理和轉(zhuǎn)換。對所需采集的數(shù)據(jù)和信息進行分析,選取和軟件缺陷相關聯(lián)的數(shù)據(jù)集,將多余的、不需要的數(shù)據(jù)清理后,再對丟失的項目采取補充措施,轉(zhuǎn)換數(shù)據(jù)屬性為數(shù)值表示。其次選取恰當?shù)臄?shù)據(jù)模型,進行驗證和訓練。需結(jié)合項目的實際需求,對其挖掘方式進行選擇,促使其成為測試集、訓練機集,進而比較所有的結(jié)果,找出最合理和符合需求的方式。同時還需應用上面所提的方法,描述、定位和分類軟件的漏洞,并將漏洞庫數(shù)據(jù)的收集應用到軟件的數(shù)據(jù)庫,并將未知漏洞找出,然后結(jié)合相應規(guī)則描述其漏洞,進一步的分類;并在最后把

3、挖掘出的數(shù)據(jù)知識用到軟件測試的項目中。 3、挖掘開源軟件 開源軟件挖掘項目的開發(fā)環(huán)境具有開放性、全局性和動態(tài)性,因此,對于該類軟件的開發(fā)管理,需和其他的傳統(tǒng)軟件相區(qū)別。通常情況下,比較成熟的開源軟件項目,對于參與其中的錯誤報告、開發(fā)者活動和軟件的應用具有較為完整的記錄。參與開發(fā)的人員,能夠組成典型的社會網(wǎng)絡,但因為其具有的開放性,致使參與的人員處于不斷的變化當中。同時對于開源軟件中具有的動態(tài)性特征的挖掘,可實現(xiàn)開源項目的優(yōu)質(zhì)管理。例如,由牛津大學所開發(fā)的系統(tǒng)sima,便可對開源項目的使用者和跟蹤者實施系統(tǒng)性的跟蹤管理。 4、挖掘版本控制的信息 版本控制系統(tǒng)的應用,主要是為保證項目參與者共同編輯

4、的同一檔案的統(tǒng)一性,以便全局性的更新。當前的軟件工程開發(fā)應用中,大部分均會應用版本控制系統(tǒng)實施軟件開發(fā)工作的管理和保護。并且挖掘版本信息控制的應用方式,主要是對變更歷史信息的挖掘,其應用可找出不同模塊,以及子系統(tǒng)之間所存在的相互依存的關系,并深化對程序中未來變化和引入方式可能存在漏洞的檢測。這類挖掘技術的應用,能夠有效的將系統(tǒng)后期維護成本降低,避免因為后期變更所產(chǎn)生的漏洞,進而具有對后期的軟件維護、警示作用。 二、數(shù)據(jù)挖掘技術在軟件工程中的應用方法 1、關聯(lián)方法 挖掘技術應用與軟件工程中的關聯(lián)方法,其規(guī)則在于發(fā)現(xiàn)大量數(shù)據(jù)中所具有的相關聯(lián)系及有趣關聯(lián)。并且關聯(lián)規(guī)則具有兩個重要特征,其一為支持度,

5、表示為p(a∪b),表明a、b兩個子集在事物集中出現(xiàn)的概率是相同的;其二為置信度,可表示為p(ba),說明a在事物集中所具有的概率,同樣b也會出現(xiàn)。 2、分類方法 分類方式的應用,主要是對離散值和分類標號進行操作,一般情況下,首先需建立起相應的模型,對其概念集和數(shù)據(jù)類集進行描述,之后應用模型完成分類。常用的分類方法是判定樹法,主要包括神經(jīng)網(wǎng)絡分類法、貝葉斯法、k-最臨近法和支持向量機法等。其中判定樹法的應用基礎為貪心算法,應用自上至下遞歸的構(gòu)造方式,對其樹、葉子節(jié)點等實施相應的類別標號,并確定最終的分類結(jié)果。另外常用的判定樹法為支持向量機和k-最臨近分類法等。k-最臨近分類法應用的基本

6、理為:若某個樣本位于特征空間中時,應有k個最相似樣本的大多數(shù),稱為一個類別,并且其樣本也歸屬于這一類別。這類計算方法對于容量較大的自動分類較為適用,若是用以樣本容量比較的分類,則很容易導致錯誤產(chǎn)生。 3、聚類方法 聚類方式的應用,顧名思義,便是把對象數(shù)據(jù)分為多個簇或類,并且保證統(tǒng)一類或簇中的數(shù)據(jù)的相似度較高,同時不同類或簇中的對象具有明顯的差別。常用的聚類方法主要有劃分方法、基于密度的方法、基于模型的方法、基于網(wǎng)格的方法和層次方法。聚類分析的輸入為一組有序?qū)Γ▁,d)或(x,s),其中x所代表的是一組樣本,d和s表示的是相異度或相似度。聚類系統(tǒng)的輸出為某個分區(qū)c=c1,c2,ck,ci為x子集

7、,也被稱為類。本文就劃分聚類法為例進行分析,其基本的應用理論為根據(jù)所給出的n個對象數(shù)據(jù)集加以應用。其中劃分聚類方法的應用,便為應用構(gòu)造出k的劃分,并且每一個劃分區(qū)域均代表某一個簇,并且需保證kn。k個劃分應滿足相關的條件。首先應讓每個簇中均含一個對象;其次,每個對象有且僅屬于某個簇。而給定k的算法,應在結(jié)合劃分方法,通過迭代的改變來劃分,確保每一次的迭代后,均優(yōu)于未迭代之前,劃分最好的標準為統(tǒng)一簇中的對象最為接近,不同簇中的對象差異最明顯。 三、結(jié)束語 由于軟件工程的復雜化發(fā)展,促使軟件的開發(fā)更加需要能夠量化且測量精準的工具,數(shù)據(jù)挖掘的應用可較大的滿足軟件開發(fā)者對于這一方面的需求。特別在近年來,數(shù)據(jù)挖掘技術應

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論