數(shù)據(jù)挖掘技術(shù)在軟件知識(shí)庫(kù)中的應(yīng)用研究.pdf_第1頁(yè)
已閱讀1頁(yè),還剩67頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、隨著信息化的快速發(fā)展,計(jì)算機(jī)數(shù)據(jù)庫(kù)系統(tǒng)已經(jīng)進(jìn)入社會(huì)的各個(gè)領(lǐng)域,由此帶來(lái)了行業(yè)數(shù)據(jù)的爆炸性增長(zhǎng)。面對(duì)海量的數(shù)據(jù),使得存儲(chǔ)能力有限的計(jì)算機(jī)不得不拋棄一些過(guò)時(shí)的數(shù)據(jù)。然而,這些數(shù)據(jù)里面包含了大量的有價(jià)值信息卻無(wú)法獲取,面對(duì)這一難題,數(shù)據(jù)挖掘技術(shù)應(yīng)運(yùn)而生,數(shù)據(jù)挖掘技術(shù)一開(kāi)始就是面向應(yīng)用的,它是一門(mén)交叉學(xué)科,融合了數(shù)據(jù)庫(kù)、人工智能、機(jī)器學(xué)習(xí)、統(tǒng)計(jì)學(xué)等多個(gè)領(lǐng)域的學(xué)科,基本功能有關(guān)聯(lián)分析、分類(lèi)分析、聚類(lèi)分析、例外分析等,與之相關(guān)各種數(shù)據(jù)挖掘工具的應(yīng)用

2、也逐漸成熟。軟件需求的日益增長(zhǎng)和開(kāi)發(fā)技術(shù)的快速更新,軟件系統(tǒng)的規(guī)模和復(fù)雜性急劇增長(zhǎng),其開(kāi)發(fā)活動(dòng)和管理難以控制。在軟件工程領(lǐng)域中,傳統(tǒng)的方法和簡(jiǎn)單的數(shù)理統(tǒng)計(jì)方法難以解決數(shù)據(jù)及信息爆炸式增長(zhǎng)所帶來(lái)的困擾。因此從程序源代碼、設(shè)計(jì)文檔以及收集的相關(guān)軟件數(shù)據(jù)集中發(fā)現(xiàn)有價(jià)值的信息并指導(dǎo)軟件工程的開(kāi)發(fā)和維護(hù)顯得尤為重要。所以,一些專(zhuān)家學(xué)者想到利用這些成熟的數(shù)據(jù)挖掘技術(shù)研究軟件工程項(xiàng)目中產(chǎn)生的大量數(shù)據(jù)(通常稱為軟件知識(shí)庫(kù)),進(jìn)一步發(fā)掘隱藏在軟件數(shù)據(jù)背后

3、的潛在的、有價(jià)值的信息。數(shù)據(jù)挖掘技術(shù)已經(jīng)成為軟件工程領(lǐng)域軟件數(shù)據(jù)研究的一個(gè)熱點(diǎn)問(wèn)題,在軟件生命周期中產(chǎn)生許多數(shù)據(jù)(如文檔、程序源代碼文件、Bug報(bào)告、軟件版本更新歷史等)中隱藏著許多有價(jià)值的信息,利用這些信息可以協(xié)助軟件開(kāi)發(fā)人員理解系統(tǒng)架構(gòu)、函數(shù)調(diào)用依賴等,幫助維護(hù)人員了解當(dāng)前系統(tǒng)中出現(xiàn)的Bug和潛在Bug,進(jìn)一步增加系統(tǒng)的穩(wěn)定性、健壯性和可靠性等。軟件知識(shí)庫(kù)的挖掘在近幾年發(fā)展尤為迅速,研究人員已經(jīng)提出了許多優(yōu)秀的數(shù)據(jù)挖掘算法應(yīng)用在軟件

4、工程的生命周期的各個(gè)階段,并且得到了較好的實(shí)驗(yàn)結(jié)果。本論文的工作主要研究軟件知識(shí)庫(kù)中的軟件開(kāi)發(fā)、測(cè)試和維護(hù)過(guò)程中的2類(lèi)數(shù)據(jù):軟件修改歷史數(shù)據(jù)(存儲(chǔ)在SVN)和Bug報(bào)告數(shù)據(jù)(存儲(chǔ)在Bugzilla),并依此為切入點(diǎn)挖掘兩類(lèi)數(shù)據(jù)集來(lái)協(xié)助開(kāi)發(fā)人員和維護(hù)人員。論文主要由以下幾個(gè)部分展開(kāi):(1)數(shù)據(jù)挖掘和軟件工程綜述:對(duì)數(shù)據(jù)挖掘技術(shù)的由來(lái)、經(jīng)典算法及應(yīng)用方向進(jìn)行概述。然后介紹了軟件工程學(xué)。從大型軟件工程項(xiàng)目出發(fā),對(duì)龐大的軟件工程知識(shí)庫(kù)進(jìn)行數(shù)據(jù)挖

5、掘技術(shù)的應(yīng)用。尤其對(duì)軟件開(kāi)發(fā)和維護(hù)方面做了闡述,以及將來(lái)比較有挑戰(zhàn)性的問(wèn)題等。(2)軟件知識(shí)庫(kù)數(shù)據(jù)抽取。目前最常用的版本控制工具是SVN或CVS,在軟件系統(tǒng)的整個(gè)生命周期中,它會(huì)產(chǎn)生大量的源代碼文件、文檔或交流記錄等演化歷史數(shù)據(jù)。如果沒(méi)有足夠的經(jīng)驗(yàn),龐大的軟件系統(tǒng)會(huì)讓開(kāi)發(fā)人員和維護(hù)人員無(wú)從下手。為了方便開(kāi)發(fā)人員和維護(hù)人員我們需要抽取出軟件系統(tǒng)演化歷史數(shù)據(jù)中有價(jià)值的信息轉(zhuǎn)化為可挖掘的數(shù)據(jù)集,然后利用數(shù)據(jù)挖掘技術(shù)分析這些數(shù)據(jù),從中找到有意義

6、和價(jià)值的知識(shí)。我們?cè)谶@部分主要討論如何建立抽取器(Java-RESC)從SVN版本控制庫(kù)中抽取出適合挖掘的XML格式數(shù)據(jù)集。(3)知識(shí)庫(kù)挖掘在軟件開(kāi)發(fā)中的應(yīng)用。隨著軟件工程學(xué)發(fā)展,軟件系統(tǒng)越來(lái)越龐大,代碼文件呈螺旋狀上升,從而程序中錯(cuò)綜復(fù)雜的調(diào)用關(guān)系是不可以避免的,軟件開(kāi)發(fā)的成本不斷增加,同時(shí)消耗大量的人力、物力。軟件開(kāi)發(fā)人員對(duì)軟件架構(gòu)不熟悉的話,會(huì)嚴(yán)重影響軟件的開(kāi)發(fā)周期,同時(shí)也會(huì)影響到軟件系統(tǒng)的質(zhì)量和穩(wěn)定性。軟件開(kāi)發(fā)過(guò)程中往往會(huì)出現(xiàn)這

7、樣的情況:添加或修改源代碼的一個(gè)文件,通常都需要添加或修改軟件架構(gòu)中關(guān)聯(lián)的源代碼文件,這是因?yàn)榇笮蛙浖到y(tǒng)的各模塊之間存在相互依賴性,這種依賴關(guān)系很難用傳統(tǒng)的靜態(tài)或動(dòng)態(tài)分析技術(shù)進(jìn)行檢測(cè)。本文通過(guò)數(shù)據(jù)挖掘技術(shù)來(lái)研究軟件系統(tǒng)各模塊源代碼文件關(guān)聯(lián)依賴,通過(guò)了解各模塊之間的調(diào)用相互關(guān)聯(lián)來(lái)幫助軟件開(kāi)發(fā)人員快速理解軟件體系結(jié)構(gòu),并且當(dāng)開(kāi)發(fā)人員添加、修改或刪除某個(gè)文件或源代碼時(shí),我們的方法可以有效的為其提供修改路徑建議。(4)知識(shí)庫(kù)挖掘在軟件維護(hù)中的

8、應(yīng)用。軟件系統(tǒng)維護(hù)是軟件生命周期中最重要的一個(gè)階段,也是花費(fèi)時(shí)間最長(zhǎng)的階段。要使軟件系統(tǒng)能在實(shí)際和不斷變化的計(jì)算機(jī)復(fù)雜環(huán)境中正常運(yùn)行,維護(hù)人員就必須要及時(shí)的修正錯(cuò)誤和不斷完善系統(tǒng),只有這樣才能保證軟件系統(tǒng)的正常運(yùn)作,軟件維護(hù)工作已成為延長(zhǎng)軟件生命周期的主要途徑。但是隨著操作系統(tǒng)程序的不斷龐大、硬件和軟件環(huán)境變化越來(lái)越頻繁,加之各種項(xiàng)目文檔的缺乏,軟件系統(tǒng)維護(hù)變得越來(lái)越困難。尤其軟件開(kāi)發(fā)人員與維護(hù)人員不是同一個(gè)人的時(shí)候,難度是可想而知。為

9、了減輕維護(hù)人員了解系統(tǒng)Bug缺陷和防止?jié)撛谌毕菪薷牡确矫娴墓ぷ髁?本文就軟件工程項(xiàng)目開(kāi)發(fā)過(guò)程中的版本控制系統(tǒng)SVN與缺陷跟蹤系統(tǒng)Bugzilla中大量的Bug修復(fù)源代碼更新數(shù)據(jù)和Bug缺陷報(bào)告關(guān)聯(lián)分析,力圖通過(guò)數(shù)據(jù)挖掘技術(shù)對(duì)Bug缺陷報(bào)告分類(lèi):缺陷變更和潛在缺陷變更。并把潛在缺陷變更列為重點(diǎn)維護(hù)對(duì)象,及時(shí)地動(dòng)態(tài)發(fā)現(xiàn)引入缺陷的源代碼變更文件歷史版本予以改正,避免系統(tǒng)后期的維護(hù)成本的增加。(5)最后對(duì)本文所做的工作進(jìn)行總結(jié),包括本文的創(chuàng)新點(diǎn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論