數據挖掘技術是軟件工程領域中一項新的應用技術,可以將數據信息轉化成知識與信息的方式,能夠滿足人們對信息的大量需求。
在軟件工程領域中,數據挖掘技術可以應用到漏洞數據庫、源代碼庫、版本信息記錄等數據庫中進行大量數據信息的挖掘。因此,數據挖掘技術也稱為數據庫知識挖掘技術。
1 數據挖掘技術的發展歷史與現狀
數據挖掘技術最早出現于 1989 年,是在數據庫中的知識中發現的,并在數據庫領域中得到很好的發展。隨著信息技術的不斷發展,數據挖掘技術從最早的理論研究轉變為軟件工程領域的應用,有效提高了軟件工程的構建方法與系統的維護,有利于滿足用戶對軟件產品的需求。
數據挖掘技術最早應用于軟件工程領域是在 1990 年,并且得到很好的發展。目前,數據挖掘技術已成為軟件工程領域的一項重要的技術,逐漸滲透到軟件工程的漏洞數據檢測、程序代碼分析等軟件開發領域當中。
2 數據挖掘技術在軟件工程領域中的應用
數據挖掘技術在軟件工程領域中的挖掘對象、挖掘技術以及需要協助的軟件工程目標三個方面,包含了版本控制信息的挖掘、漏洞檢測、執行記錄挖掘、開源軟件挖掘等。
2.1 版本控制信息的挖掘
版本控制信息的挖掘屬于軟件工程領域中的挖掘對象技術之一。版本控制信息系統的作用就是可以有效確保軟件工程項目編程人員所編輯的檔案得到統一的管理,進而實現全局數據的更新,是所有軟件工程項目開發必須采用的一項技術,用來管理軟件工項目開發活動。
數據挖掘技術在版本控制信息中的應用,主要是對軟件變更歷史進行數據挖掘,發現軟件系統中不同程序模塊之間的相互關系,進而可以預測出系統程序模塊存在漏洞的引入方式以及程序未來的發展。通過對版本控制信息的挖掘,可以減少軟件系統后期的維護工作,避免由于系統更新而引入缺陷與漏洞,從而提高軟件系統的后期維護工作,有利于軟件工程項目的后期管理。
2.2 軟件漏洞檢測
軟件漏洞檢測是數據挖掘技術在軟件工程領域中需要協助的軟件工程目標之一。軟件漏洞檢測的目的就是要找出軟件系統在開發過程中存在的錯誤與漏洞問題,對存在的問題進行及時的修改與修復,確保軟件系統的質量與安全運行。通常情況下應用數據挖掘技術進行軟件漏洞檢測主要有五個部分:①要確立軟件測試的項目。從用戶的角度出發,了解用戶都有哪些需求,然后決定軟件要進行哪些方面的測試與怎樣進行軟件測試,制定出軟件測試的計劃與實施方案;②進行軟件系統漏洞庫數據信息的收集、清理與轉換。采集軟件系統的信息與數據,抽取出軟件系統中存在漏洞缺陷的數據信息,清理掉系統中無用與多余的數據信息,補充系統中丟掉與缺少的項目數據信息,將系統數據信息轉化成信息與知識方式;③選擇合適的軟件系統數據挖掘信息,然后進行數據信息的驗證與訓練。通過數據挖掘技術對軟件系統數據的訓練與測試結果,結合軟件工程項目的需求,選擇合理的數據挖掘方法;④對軟件系統中存在的缺陷漏洞進行分類、定位與描述。將找出的軟件系統漏洞運用數據挖掘技術,根據一定的規則進行軟件系統漏洞的分類、定位與描述;⑤數據挖掘技術在軟件測試項目中的應用。運行數據挖掘技術將挖掘出來的數據信息轉化成知識,并將轉化后的知識保存到數據庫當中,然后對軟件系統進行重新測試,確認漏洞現象是否存在,然后將測試后的結果應用到軟件開發項目當中。
2.3 執行記錄挖掘
執行記錄挖掘屬于軟件工程領域中的挖掘技術領域。執行記錄挖掘目的就是通過對軟件系統的程序執行路徑進行分析,發現軟件系統程序模塊代碼之間的相互關聯。其運行實質是就通過跟蹤軟件系統的執行路徑實現逆向建模,有利于軟件系統程序的理解、跟蹤、維護與以及驗證。
2.4 開源軟件挖掘
開源軟件挖掘屬于軟件工程領域中的挖掘對象領域??寺〈a檢測是開源軟件挖掘技術中常用的方法之一,普遍應用在大多數軟件開發源文件當中,進行數據的拷貝與粘貼。采用克隆代碼技術可以有效進行代碼的拷貝與粘貼,然后運用克隆代碼檢測技術對代碼進行檢測,避免軟件系統中出現漏洞代碼,有利于軟件系統的后期維護。
3 結語
隨著軟件工程技術的系統化與復雜化發展,數據挖掘技術的應用給軟件開發提供了精確的測量保障,并且取得了良好的效果。由于數據挖掘技術在軟件工程領域中的應用處于初級發展階段,通過對數據挖掘技術在軟件工程領域應用的深入研究,有利于數據挖掘技術在軟件工程領域的廣泛應用,有利于提高數據挖掘技術的發展與創新。
參考文獻
[1] 沈孫園 , 張麗帆 , 劉麗娟 . 淺談數據挖掘技術在軟件工程項目中的應用 [J]. 電腦知識與技術 ,2009,120(109)。
[2] 毛澄映 , 盧炎生 , 胡小華 . 數據挖掘技術在軟件工程領域中的應用綜述 [J]. 計算機科學技術 ,2009,136(105)。
[3] 孟美芝,李國英 , 錢國棟 . 將 KFCM 算法應用于源代碼數據挖掘的研究 [J]. 計算機工程與設計 ,2010,131(101)。
[4] 張志榮 , 孫偉宏 , 韓曉東 . 數據挖掘技術在軟件工程領域中的應用淺析 [J]. 電子測試 ,2013,109(105)。
[5] 楚燕婷 , 焦明宇 , 王麗瓊 . 基于源代碼挖掘的軟件質量改進方法研究 [J]. 電腦知識與技術科學 ,2009.