數(shù)據(jù)挖掘招聘_軟件工程數(shù)據(jù)挖掘研究分析
本文關(guān)鍵詞:軟件工程數(shù)據(jù)挖掘研究進(jìn)展,由筆耕文化傳播整理發(fā)布。
當(dāng)前所在位置:中國論文網(wǎng) > 政治論文發(fā)表 > 軟件工程數(shù)據(jù)挖掘研究分析
軟件工程數(shù)據(jù)挖掘研究分析
發(fā)布日期: 2014-05-14 發(fā)布:
2013年6期目錄 本期共收錄文章20篇
摘 要:計(jì)算機(jī)軟件系統(tǒng)規(guī)模的不斷壯大,以及構(gòu)成的日益復(fù)雜,為軟件工程的管理和控制活動(dòng)帶來了困難,而應(yīng)運(yùn)而生的數(shù)據(jù)挖掘技術(shù)為上述難題提供了妥善的解決方法,,其不僅可以便捷的獲取有效信息,而且為知識智能型軟件工程的實(shí)現(xiàn)提供了機(jī)遇。對此,本文對軟件工程數(shù)據(jù)挖掘作了概述,并著重分析了其在軟件工程中的應(yīng)用。
中國論文網(wǎng)
關(guān)鍵詞:軟件工程;數(shù)據(jù)挖掘;代碼缺陷
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-7712 (2013) 12-0000-01
廣泛收集軟件產(chǎn)品及其過程數(shù)據(jù)是軟件開發(fā)者掌握軟件相關(guān)信息的重要手段,也已成為當(dāng)下的標(biāo)準(zhǔn)慣例,但在海量信息面前,僅憑手工活動(dòng)顯然難以奏效,這促使數(shù)據(jù)挖掘技術(shù)得以廣泛應(yīng)用,因其對提高軟件開發(fā)質(zhì)量和效率,增強(qiáng)其實(shí)用性與可信性具有很大的促進(jìn)作用,因此軟件工程數(shù)據(jù)挖掘不僅具有不容忽視的學(xué)術(shù)價(jià)值,而且應(yīng)用前景十分廣闊,值得我們深入研究。
一、軟件工程數(shù)據(jù)挖掘概述
(一)基本含義
軟件工程數(shù)據(jù)主要是指開發(fā)軟件過程中所涉及的各類數(shù)據(jù),如需求分析、可行性分析、設(shè)計(jì)等文檔,開發(fā)商通信、軟件注釋、代碼、版本、測試用例和結(jié)果、使用說明、用戶反饋等信息數(shù)據(jù),一般情況下其是軟件開發(fā)者獲取軟件數(shù)據(jù)的唯一來源;而數(shù)據(jù)挖掘是指在海量數(shù)據(jù)中集中發(fā)現(xiàn)有用知識或信息的過程。
。ǘ┕ぷ髟
軟件工程數(shù)據(jù)挖掘主要分為三個(gè)階段,一是數(shù)據(jù)預(yù)處理階段。二是挖掘階段,主要運(yùn)用分類、統(tǒng)計(jì)、關(guān)聯(lián)、聚類、異常檢測等一系列算法的過程。三是評估階段,數(shù)據(jù)挖掘的意義在于其結(jié)果應(yīng)易被用戶理解,因此其結(jié)果評估主要分為模式過濾和模式表示兩個(gè)環(huán)節(jié)。
二、軟件工程數(shù)據(jù)挖掘應(yīng)用分析
。ㄒ唬⿺(shù)據(jù)挖掘在軟件開發(fā)環(huán)節(jié)的應(yīng)用
軟件開發(fā)環(huán)節(jié)主要包括程序編寫及其成果提交兩大步驟,因此數(shù)據(jù)挖掘的應(yīng)用可從這兩點(diǎn)著手。
一是編寫程序時(shí),應(yīng)在理解程序結(jié)構(gòu)和功能的基礎(chǔ)上檢索和發(fā)現(xiàn)有用信息。
首先要在現(xiàn)有的代碼庫中搜尋符合要求的模式,即檢索軟件重用模式,鑒于手工尋找方式耗費(fèi)精力效果差,因此可以在代碼庫中輸入關(guān)鍵字,篩選出對應(yīng)的代碼段,并基于用戶實(shí)際需求加以排序,以此便捷重用模式的尋找,但應(yīng)保證所輸入代碼庫的查詢信息的屬性、類型、方法符合規(guī)范,并以相關(guān)的啟發(fā)式規(guī)則對其進(jìn)行評分,然后將排序完畢的例程以及帶有標(biāo)注的代碼段反饋給軟件開發(fā)者。
其次應(yīng)注意發(fā)掘上述模式的靜態(tài)規(guī)則,主要包括調(diào)用、重載、多重繼承等關(guān)系,具體應(yīng)查看并記錄具備上述關(guān)系特征的類間關(guān)系,然后借助Apriori等算法發(fā)現(xiàn)頻繁項(xiàng)集,并利用遞歸測試對其進(jìn)行細(xì)致劃分,計(jì)算項(xiàng)間關(guān)聯(lián)度的可信程度;由于與要求吻合的規(guī)則數(shù)量較多,因此可按照無用剔除規(guī)定對其進(jìn)行局部修剪和全局裁剪;若查詢的是某一類代碼,可在遵循規(guī)則組的前提下以列表的形式對其進(jìn)行排序,并通過建立AST圖體現(xiàn)開發(fā)者所需的數(shù)據(jù)信息。
最后是充分利用動(dòng)態(tài)規(guī)則,其是當(dāng)下自動(dòng)發(fā)現(xiàn)編程信息領(lǐng)域研究最為深入的一面,其典型應(yīng)用方法如下:通過將挖掘?qū)ο笤O(shè)定為靜態(tài)代碼,使其hash函數(shù)為ID值,并將其映射后的序列存儲到數(shù)據(jù)庫中,利用FPClose算法生成I→(C?I)規(guī)則,即尋找公共子集,然后對程序中可能存在缺陷的代碼段進(jìn)行查找,以此保證數(shù)據(jù)挖掘的可靠性。
二是在修改提交的編程結(jié)果環(huán)節(jié),該階段不僅要排除其中的缺陷代碼,還要保證其符合軟件開發(fā)的行業(yè)規(guī)定,如標(biāo)識、注釋、函數(shù)設(shè)計(jì)等。在具體實(shí)踐中用于定位缺陷代碼的測試方式有很多,如利用以類為粒度的缺陷定位法,通過記錄成員函數(shù)在數(shù)據(jù)中的執(zhí)行信息,并對其通過失敗率進(jìn)行評分,以此發(fā)現(xiàn)缺陷所在。
。ǘ⿺(shù)據(jù)挖掘在軟件維護(hù)環(huán)節(jié)的應(yīng)用
軟件維護(hù)環(huán)節(jié)的數(shù)據(jù)挖掘可以分為修復(fù)和改善兩部分,其中修復(fù)維護(hù)的對象為軟件的缺陷,而改善維護(hù)則關(guān)乎軟件結(jié)構(gòu)的調(diào)整和更改。
。1)軟件修復(fù)環(huán)節(jié)
軟件修復(fù)環(huán)節(jié)中的缺陷分派可以通過鑒別和評估軟件缺陷程序,確定其修復(fù)的優(yōu)先級,從而找到每個(gè)缺陷最合適的修復(fù)者。在缺陷自動(dòng)分派方法中,通過將缺陷分派轉(zhuǎn)化為文本類型的問題,以此采取措施加以修復(fù),但其準(zhǔn)確率較低,而通過強(qiáng)化檢測重復(fù)缺陷報(bào)告技術(shù),并在缺陷報(bào)告中增設(shè)執(zhí)行和自然語言兩種相似度信息,然后按照定義的向量維度描述軟件缺陷,最后獲取兩種相似度的加權(quán)和,從而為缺陷選擇合適的修復(fù)者,實(shí)驗(yàn)證明,該種方法的正確率為67%左右。
。2)軟件改善環(huán)節(jié)
軟件結(jié)構(gòu)的優(yōu)化應(yīng)以理解軟件設(shè)計(jì)和程序?yàn)榍疤幔部梢院唵蔚睦斫鉃榻柚蔷幊陶Z言定量描述代碼的過程。在理解軟件的過程中,我們可以采用跟蹤軟件需求的方式在需求文檔中發(fā)現(xiàn)與設(shè)計(jì)和條目文檔具有對應(yīng)關(guān)系的條目,以保證軟件功能和行為符合相關(guān)法律規(guī)定,并自動(dòng)對重用代碼進(jìn)行分類以獲取、區(qū)分、標(biāo)識程序的聚類結(jié)果,其中漏洞檢測也是用于保證軟件質(zhì)量和可靠性的常用方法,即通過構(gòu)建軟件測試程序,收集、清理和轉(zhuǎn)換漏洞庫中的數(shù)據(jù),然后借助科學(xué)的數(shù)據(jù)挖掘模型加以訓(xùn)練和驗(yàn)證,從而對其進(jìn)行定位、分類和描述,并重新對其進(jìn)行測試,以及時(shí)發(fā)現(xiàn)和快速修正軟件的漏洞和缺陷。同時(shí)也可利用軟件工程挖掘技術(shù)中最熱門的克隆代碼工具發(fā)現(xiàn)軟件中重復(fù)出現(xiàn)的代碼缺陷,以此為及時(shí)修復(fù)缺陷提供保障。在完成軟件程序理解環(huán)節(jié)后,還應(yīng)對其設(shè)計(jì)加以改善,鑒于該項(xiàng)工作任務(wù)繁重,因此可TIMNA方法實(shí)現(xiàn)軟件設(shè)計(jì)的自動(dòng)改善,在此基礎(chǔ)上,掌握、歸納軟件更改的先后關(guān)系,從而為挖掘其傳播規(guī)律提供助益。
隨著軟件工程數(shù)據(jù)的日益復(fù)雜,對非傳統(tǒng)性分析需求的逐漸增加,以及對數(shù)據(jù)挖掘結(jié)果的評價(jià)要求的不斷提高,軟件工程數(shù)據(jù)挖掘的算法會(huì)更完善,更有效,從而使檢索和發(fā)現(xiàn)重用規(guī)則、描述軟件行為、定位軟件缺陷、自動(dòng)評價(jià)軟件設(shè)計(jì)等更為便捷、高效、可靠,同時(shí)機(jī)器學(xué)習(xí)、人工智能等數(shù)據(jù)挖掘技術(shù)也會(huì)取得更大進(jìn)步。
三、結(jié)束語
總之,當(dāng)下的軟件工程數(shù)據(jù)挖掘發(fā)展的是如火如荼,具有很高的研究價(jià)值和實(shí)用價(jià)值,但在提取軟件數(shù)據(jù)、挖掘算法、表示挖掘結(jié)果等方面尚不成熟,因此必須加大研究力度,使其朝著智能化、高效化、實(shí)用化方向發(fā)展,從而促進(jìn)軟件工程健康發(fā)展。
參考文獻(xiàn):
[1]郁抒思,周永康,關(guān)佶紅.軟件工程數(shù)據(jù)挖掘研究進(jìn)展[J].計(jì)算機(jī)科學(xué)與探索,2011(10).
[2]吳戴林.軟件數(shù)據(jù)挖掘的若干問題研究[D].廣西師范大學(xué),2009(06).
[作者簡介]令瑞林(1992.1.28-),單位:北京郵電大學(xué),職位:學(xué)生,學(xué)歷:本科;高冰潔(1992.5.7-)單位:北京郵電大學(xué),職位:學(xué)生,學(xué)歷:本科。
本文關(guān)鍵詞:軟件工程數(shù)據(jù)挖掘研究進(jìn)展,由筆耕文化傳播整理發(fā)布。
本文編號:164956
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/164956.html