軟件工程數(shù)據(jù)挖掘存在的挑戰(zhàn)與解決方案
軟件工程數(shù)據(jù)挖掘工作的最后階段是將獲取的挖掘信息呈現(xiàn)給所需用,下面是小編搜集的一篇關(guān)于軟件工程數(shù)據(jù)挖掘問(wèn)題探究的論文范文,歡迎閱讀借鑒。
1 引言(Introduction)
數(shù)據(jù)挖掘技術(shù)既是在海量的數(shù)據(jù)當(dāng)中將需求信息挖掘出來(lái)的過(guò)程[1].軟件工程數(shù)據(jù)挖掘則是數(shù)據(jù)挖掘技術(shù)在軟件工程領(lǐng)域的重要應(yīng)用[2].軟件工程數(shù)據(jù)挖掘技術(shù)可以有效地提高軟件的開(kāi)發(fā)效率,增強(qiáng)軟件的穩(wěn)定性以及可用性,隨著軟件工程數(shù)據(jù)挖掘技術(shù)的不斷提升,其應(yīng)用范圍更加的廣泛[3].因此,對(duì)其的研究工作不僅具有重要的學(xué)術(shù)價(jià)值,更具有重大的實(shí)際應(yīng)用價(jià)值。本文重點(diǎn)探索軟件工程數(shù)據(jù)挖掘技術(shù)面臨的挑戰(zhàn)以及將來(lái)的發(fā)展趨勢(shì)。
2 軟件工程數(shù)據(jù)挖掘(Software engineering datamining)
(1)軟件工程數(shù)據(jù)挖掘的必要性
軟件工程數(shù)據(jù)主要是指在軟件開(kāi)發(fā)階段積累的相關(guān)數(shù)據(jù),其中包括軟件的可行性分析以及需求分析文本,軟件的注釋或者代碼等等。這些信息是軟件開(kāi)發(fā)者獲取軟件相關(guān)數(shù)據(jù)的唯一來(lái)源。隨著軟件研發(fā)技術(shù)以及規(guī)模的不斷提升,其中包括的軟件工程數(shù)據(jù)也是成指數(shù)性增長(zhǎng)。例如:Linux操作系統(tǒng)軟件,其僅代碼一項(xiàng)就超過(guò)了500萬(wàn)行。這在無(wú)形中增加了軟件開(kāi)發(fā)者獲取軟件相關(guān)數(shù)據(jù)的難度。因此,借助于數(shù)據(jù)挖掘技術(shù)的軟件工程信息搜索技術(shù)是十分必要的。
(2)軟件工程數(shù)據(jù)挖掘任務(wù)及其過(guò)程
一般來(lái)講,軟件工程的數(shù)據(jù)挖掘工作主要包括:
a.軟件數(shù)據(jù)的預(yù)處理。這一過(guò)程主要是將未曾加工的數(shù)據(jù)變?yōu)楸阌谕诰虺鰜?lái)的形式。其主要涉及到不同來(lái)源以及格式數(shù)據(jù)的融合,進(jìn)而轉(zhuǎn)化成為統(tǒng)一格式的數(shù)據(jù)。選取數(shù)據(jù)挖掘任務(wù)有關(guān)的數(shù)據(jù)記錄,并對(duì)數(shù)據(jù)中的噪音以及重復(fù)值進(jìn)行清理。目前,數(shù)據(jù)挖掘的預(yù)處理技術(shù)主要采用的是LSA、PLSA、LDA等。
b.數(shù)據(jù)挖掘。這一過(guò)程主要是要將海量數(shù)據(jù)中能夠反映出軟件本質(zhì)或者規(guī)律的信息搜取出來(lái)。其中運(yùn)用了大量的算法。輸入的是結(jié)構(gòu)規(guī)整的數(shù)據(jù),而將關(guān)聯(lián)、分類(lèi)等信息模式進(jìn)行輸出,這些信息模式與挖掘任務(wù)有關(guān)。
c.結(jié)果評(píng)估。這一過(guò)程的目的就是要是用戶獲得有用的信息。主要包括提出信息質(zhì)量不高的部分結(jié)果數(shù)據(jù),以及將計(jì)算機(jī)處理以及理解的信息模式轉(zhuǎn)換成為用戶能夠理解的信息模式,并傳遞給用戶。
2 軟件工程數(shù)據(jù)挖掘存在的挑戰(zhàn)(Challenge ofsoftware engineering data mining)
(1)軟件工程數(shù)據(jù)復(fù)雜度高
目前的軟件工程數(shù)據(jù)主要包括結(jié)構(gòu)化和非結(jié)構(gòu)化兩類(lèi)數(shù)據(jù)。其中,結(jié)構(gòu)化數(shù)據(jù)主要涉及到軟件的版本相關(guān)信息以及缺陷報(bào)告等。非結(jié)構(gòu)化數(shù)據(jù)主要包括一些軟件代碼、文檔等。這兩類(lèi)數(shù)據(jù)不能采取同一種算法,但是兩類(lèi)數(shù)據(jù)之間卻又存在著諸多相關(guān)性。因此,在數(shù)據(jù)挖掘算法開(kāi)發(fā)上,要充分的考慮到兩類(lèi)數(shù)據(jù)的復(fù)雜聯(lián)系,無(wú)形中增加了不小的難度。
(2)分析方法并非傳統(tǒng)模式
軟件工程數(shù)據(jù)挖掘工作的最后階段是將獲取的挖掘信息呈現(xiàn)給所需用戶。在傳統(tǒng)的數(shù)據(jù)挖掘應(yīng)用過(guò)程中,例如:銀行或者電子商務(wù),都是將其轉(zhuǎn)化為文字或者圖表的形式。但是,軟件開(kāi)發(fā)者所需的信息并沒(méi)有如此簡(jiǎn)單。其囊括了編程模板、缺陷定位等客戶信息。因此,這對(duì)數(shù)據(jù)挖掘技術(shù)提出了更高要求。
(3)數(shù)據(jù)挖掘結(jié)果評(píng)價(jià)標(biāo)準(zhǔn)不一
數(shù)據(jù)挖掘技術(shù)在很多行業(yè)都已經(jīng)廣泛應(yīng)用,并且,在結(jié)果表示以及評(píng)價(jià)標(biāo)準(zhǔn)制定等方面較為成熟,但是,在軟件工程數(shù)據(jù)挖掘領(lǐng)域卻不是這樣。軟件開(kāi)發(fā)者需要獲取的信息不僅詳細(xì)而且極為復(fù)雜,同時(shí),信息的表示方法也不盡相同,這樣一來(lái),為信息對(duì)比增加了不小的難度,因此,很難對(duì)數(shù)據(jù)挖掘結(jié)果進(jìn)行定量準(zhǔn)確分析。
3 軟件工程數(shù)據(jù)挖掘問(wèn)題的解決方案(Solution ofsoftware engineering data mining)
(1)數(shù)據(jù)復(fù)雜性解決方法
軟件工程數(shù)據(jù)的復(fù)雜性主要包括三方面:
a.數(shù)據(jù)的類(lèi)型相對(duì)復(fù)雜。關(guān)于這一類(lèi)型,目前一些學(xué)者提出可以從軟件程序的結(jié)構(gòu)圖以及文本數(shù)據(jù)等方面進(jìn)行信息挖掘。
b.數(shù)據(jù)間聯(lián)系復(fù)雜。這一類(lèi)型可以利用算法的改進(jìn),增強(qiáng)發(fā)現(xiàn)數(shù)據(jù)之間聯(lián)系能力來(lái)提升數(shù)據(jù)挖掘結(jié)果的準(zhǔn)確程度,例如:社會(huì)網(wǎng)絡(luò)分析法比較適用于尚未存在大量研究工作的領(lǐng)域。
c.數(shù)據(jù)中存在噪音或缺失。這一類(lèi)型可以采用類(lèi)似于半監(jiān)督學(xué)習(xí)的方法以達(dá)到有效控制因數(shù)據(jù)缺失所帶來(lái)的不良影響程度。
總而言之,通過(guò)數(shù)據(jù)挖掘算法的不斷改進(jìn),能夠有效地解決數(shù)據(jù)復(fù)雜性問(wèn)題。
(2)非傳統(tǒng)分析的解決方法
相對(duì)于文字、圖表等信息形式,軟件開(kāi)發(fā)者往往更需要軟件使用范例。目前,很多研究成果會(huì)涉及到軟件使用例程以及編程規(guī)則等。同時(shí),在軟件工程當(dāng)中,程序可視化作為一種信息表示方法正在逐漸成為趨勢(shì),其與數(shù)據(jù)挖掘技術(shù)相結(jié)合,將會(huì)極大的滿足更多的非傳統(tǒng)分析需求。
(3)挖掘結(jié)果評(píng)估問(wèn)題解決方法
傳統(tǒng)的評(píng)估體系很難在軟件工程數(shù)據(jù)挖掘中應(yīng)用。為了解決這一問(wèn)題,一些研究者試圖利用缺陷檢測(cè)效果評(píng)估法進(jìn)行挖掘數(shù)據(jù)評(píng)價(jià),但是,這種方法有點(diǎn)以偏概全的嫌疑。還有一些學(xué)者采用用戶體驗(yàn)評(píng)價(jià)方法,但是在用戶較少的情況下,結(jié)果評(píng)價(jià)的客觀性不足。軟件工程領(lǐng)域無(wú)論是理論研究還是實(shí)際應(yīng)用,其服務(wù)對(duì)象始終都是人,由此可見(jiàn),軟件工程數(shù)據(jù)挖掘的結(jié)果評(píng)價(jià)方法會(huì)越來(lái)越貼近人類(lèi)心理學(xué)以及管理學(xué)中的分析方法。
4 軟件工程數(shù)據(jù)挖掘的發(fā)展趨勢(shì)(Developmenttrend of software engineering data mining)
(1)基于現(xiàn)有問(wèn)題,開(kāi)法高性能挖掘算法
a.軟件工程數(shù)據(jù)的檢索由精確的關(guān)鍵詞檢索向模糊檢索、甚至不受格式限制的'自然語(yǔ)言檢索發(fā)展,檢索返回的內(nèi)容從簡(jiǎn)單的語(yǔ)句向完整的文檔發(fā)展。
b.缺陷檢測(cè)工具從僅能夠檢測(cè)缺陷的原因向更加復(fù)雜、范圍更加廣泛的缺陷發(fā)展。
c.用人類(lèi)自然語(yǔ)言表達(dá)行為方法及軟件行為的模型將更加豐富,對(duì)應(yīng)的表達(dá)能力也會(huì)大幅度提升。
(2)提出更為復(fù)雜的問(wèn)題及其解決方法。
a.將研究基于數(shù)據(jù)挖掘技術(shù)的軟件結(jié)構(gòu)分析方法。
b.將研究軟件行為的評(píng)價(jià)方法和惡意軟件檢測(cè)方法。
c.通過(guò)數(shù)據(jù)挖掘方法定量分析、評(píng)估與預(yù)測(cè)軟件的穩(wěn)定性,從而指導(dǎo)軟件的開(kāi)發(fā)和維護(hù)。
d.進(jìn)一步發(fā)現(xiàn)數(shù)據(jù)之間的關(guān)系,綜合利用多方面的數(shù)據(jù)源進(jìn)行挖掘。
(3)高效預(yù)處理,改進(jìn)挖掘算法
研究更高效的數(shù)據(jù)預(yù)處理方法,最主要研究特征提取和數(shù)據(jù)降維方法;推進(jìn)異構(gòu)數(shù)據(jù)的管理和整合技術(shù),如數(shù)據(jù)融合、數(shù)據(jù)空間等,以及分布式數(shù)據(jù)的并行處理技術(shù)。
(4)引入新的軟件工程理念,指導(dǎo)數(shù)據(jù)挖掘工作
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,軟件開(kāi)發(fā)工作逐漸呈現(xiàn)出了高效化、智能化,網(wǎng)絡(luò)化特征。這些更是成為軟件開(kāi)發(fā)人以及數(shù)據(jù)的基本特征。正因?yàn)槿绱,軟件模塊的開(kāi)發(fā)工作更加趨向于功能性以及可重用性。這樣發(fā)展趨勢(shì)勢(shì)必會(huì)導(dǎo)致軟件工程數(shù)據(jù)挖掘技術(shù)研究方向的改變。利用數(shù)據(jù)挖掘技術(shù)采集、整合網(wǎng)絡(luò)數(shù)據(jù),獲得信息的方法;以及利用數(shù)據(jù)挖掘工具設(shè)計(jì)軟件重用的規(guī)范和模式,以輔助可重用模塊的開(kāi)發(fā)。
5 結(jié)論(Conclusion)
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,人們的生活也逐漸的進(jìn)入到了網(wǎng)絡(luò)化時(shí)代。各種應(yīng)用軟件的開(kāi)發(fā)速度之快令人震驚,而這也對(duì)軟件工程數(shù)據(jù)挖掘工作提出了更多、更高的要求。本文首先對(duì)軟件工程數(shù)據(jù)挖掘技術(shù)的相關(guān)概念進(jìn)行分析,然后,對(duì)其遇到的挑戰(zhàn)和應(yīng)對(duì)措施進(jìn)行探索,最后,研究其未來(lái)的發(fā)展趨勢(shì)。希望能夠?yàn)橛嘘P(guān)的研究工作者提供一些參考性的建議。
參考文獻(xiàn)(References)
[1] 毛澄映,盧炎生,胡小華。數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用綜述[J].計(jì)算機(jī)科學(xué),2009(05):1-6.
[2] 李新,張曉靜,米燕濤。軟件開(kāi)發(fā)過(guò)程中的數(shù)據(jù)挖掘[J].石家莊職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(02):31-33.
[3] 趙志升,羅德林,李海英。數(shù)據(jù)挖掘技術(shù)與應(yīng)用[J].河北北方學(xué)院學(xué)報(bào)(自然科學(xué)版),2006(06):63-66.
【軟件工程數(shù)據(jù)挖掘存在的挑戰(zhàn)與解決方案】相關(guān)文章:
軟件工程數(shù)據(jù)挖掘測(cè)試的有效措施05-09
淺論軟件工程數(shù)據(jù)挖掘測(cè)試的有效措施08-30
web數(shù)據(jù)挖掘技術(shù)分析與研究11-12
客戶關(guān)系管理數(shù)據(jù)挖掘與應(yīng)用11-06
數(shù)據(jù)挖掘與客戶關(guān)系管理分析08-08
企業(yè)中層管理存在的問(wèn)題與解決方案12-02
面向Agent的軟件工程的現(xiàn)狀與挑戰(zhàn)探究11-07