一、數(shù)據(jù)挖掘技術(shù)在軟件工程領(lǐng)域中的應(yīng)用
1、軟件漏洞檢測
軟件漏洞檢測是數(shù)據(jù)挖掘技術(shù)在軟件工程領(lǐng)域中需要協(xié)助的軟件工程目標(biāo)之一。軟件漏洞檢測的目的就是要找出軟件系統(tǒng)在開發(fā)過程中存在的錯誤與漏洞問題,對存在的問題進行及時的修改與修復(fù),確保軟件系統(tǒng)的質(zhì)量與安全運行。通常情況下應(yīng)用數(shù)據(jù)挖掘技術(shù)進行軟件漏洞檢測主要有五個部分:①要確立軟件測試的項目。從用戶的角度出發(fā),了解用戶都有哪些需求,然后決定軟件要進行哪些方面的測試與怎樣進行軟件測試,制定出軟件測試的計劃與實施方案;②進行軟件系統(tǒng)漏洞庫數(shù)據(jù)信息的收集、清理與轉(zhuǎn)換。采集軟件系統(tǒng)的信息與數(shù)據(jù),抽取出軟件系統(tǒng)中存在漏洞缺陷的數(shù)據(jù)信息,清理掉系統(tǒng)中無用與多余的數(shù)據(jù)信息,補充系統(tǒng)中丟掉與缺少的項目數(shù)據(jù)信息,將系統(tǒng)數(shù)據(jù)信息轉(zhuǎn)化成信息與知識方式;③選擇合適的軟件系統(tǒng)數(shù)據(jù)挖掘信息,然后進行數(shù)據(jù)信息的驗證與訓(xùn)練。通過數(shù)據(jù)挖掘技術(shù)對軟件系統(tǒng)數(shù)據(jù)的訓(xùn)練與測試結(jié)果,結(jié)合軟件工程項目的需求,選擇合理的數(shù)據(jù)挖掘方法;④對軟件系統(tǒng)中存在的缺陷漏洞進行分類、定位與描述。將找出的軟件系統(tǒng)漏洞運用數(shù)據(jù)挖掘技術(shù),根據(jù)一定的規(guī)則進行軟件系統(tǒng)漏洞的分類、定位與描述;⑤數(shù)據(jù)挖掘技術(shù)在軟件測試項目中的應(yīng)用。運行數(shù)據(jù)挖掘技術(shù)將挖掘出來的數(shù)據(jù)信息轉(zhuǎn)化成知識,并將轉(zhuǎn)化后的知識保存到數(shù)據(jù)庫當(dāng)中,然后對軟件系統(tǒng)進行重新測試,確認(rèn)漏洞現(xiàn)象是否存在,然后將測試后的結(jié)果應(yīng)用到軟件開發(fā)項目當(dāng)中。
2、執(zhí)行記錄挖掘
執(zhí)行記錄挖掘?qū)儆谲浖こ填I(lǐng)域中的挖掘技術(shù)領(lǐng)域。執(zhí)行記錄挖掘目的就是通過對軟件系統(tǒng)的程序執(zhí)行路徑進行分析,發(fā)現(xiàn)軟件系統(tǒng)程序模塊代碼之間的相互關(guān)聯(lián)。其運行實質(zhì)是就通過跟蹤軟件系統(tǒng)的執(zhí)行路徑實現(xiàn)逆向建模,有利于軟件系統(tǒng)程序的理解、跟蹤、維護與以及驗證。
3、開源軟件挖掘
開源軟件挖掘?qū)儆谲浖こ填I(lǐng)域中的挖掘?qū)ο箢I(lǐng)域。克隆代碼檢測是開源軟件挖掘技術(shù)中常用的方法之一,普遍應(yīng)用在大多數(shù)軟件開發(fā)源文件當(dāng)中,進行數(shù)據(jù)的拷貝與粘貼。采用克隆代碼技術(shù)可以有效進行代碼的拷貝與粘貼,然后運用克隆代碼檢測技術(shù)對代碼進行檢測,避免軟件系統(tǒng)中出現(xiàn)漏洞代碼,有利于軟件系統(tǒng)的后期維護。
二、結(jié)語
隨著軟件工程技術(shù)的系統(tǒng)化與復(fù)雜化發(fā)展,數(shù)據(jù)挖掘技術(shù)的應(yīng)用給軟件開發(fā)提供了精確的測量保障,并且取得了良好的效果。由于數(shù)據(jù)挖掘技術(shù)在軟件工程領(lǐng)域中的應(yīng)用處于初級發(fā)展階段,通過對數(shù)據(jù)挖掘技術(shù)在軟件工程領(lǐng)域應(yīng)用的深入研究,有利于數(shù)據(jù)挖掘技術(shù)在軟件工程領(lǐng)域的廣泛應(yīng)用,有利于提高數(shù)據(jù)挖掘技術(shù)的發(fā)展與創(chuàng)新。
作者:羅韜 羅峰 單位:四川大學(xué)計算機學(xué)院 西藏軍區(qū)裝備部