熊登峰

摘 要:基于故障模式的嵌入式軟件智能測(cè)試方法作為一種解決嵌入式軟件測(cè)試問(wèn)題的新途徑,其關(guān)鍵技術(shù)之一就是如何從故障模式庫(kù)中找出與嵌入式軟件相關(guān)的故障模式。文章論述了如何使用關(guān)聯(lián)規(guī)則,在故障模式庫(kù)中挖掘出與被測(cè)試對(duì)象相關(guān)的故障模式。
關(guān)鍵詞:關(guān)聯(lián)規(guī)則;軟件故障模式庫(kù);故障模式
1 概述
隨著嵌入式系統(tǒng)在航空航天武器裝備、工業(yè)控制、車(chē)輛導(dǎo)航、信息家電、家庭智能管理系統(tǒng)、POS網(wǎng)絡(luò)及電子商務(wù)、自然環(huán)境實(shí)時(shí)監(jiān)控、機(jī)器人、物聯(lián)網(wǎng)等領(lǐng)域廣泛運(yùn)用。用戶(hù)對(duì)嵌入式系統(tǒng)質(zhì)量要求日趨嚴(yán)格,嵌入式軟件測(cè)試作為嵌入式系統(tǒng)項(xiàng)目質(zhì)量控制的主要手段,正受到越來(lái)越多的重視。而嵌入式軟件運(yùn)行是實(shí)時(shí)的,運(yùn)行過(guò)程中嵌入式軟件,硬件以及外部設(shè)備的頻繁交互,嵌入式軟件系統(tǒng)本身對(duì)性能的要求也高,因此,所有這些特點(diǎn)決定嵌入式軟件測(cè)試是一類(lèi)最難的測(cè)試。
基于故障模式的嵌入式軟件智能測(cè)試方法作為一種解決嵌入式軟件測(cè)試問(wèn)題的新途徑,具有缺陷探測(cè)率(DDP)更高,測(cè)試周期更短,測(cè)試成本更低優(yōu)勢(shì)特點(diǎn)。實(shí)現(xiàn)該測(cè)試方法的關(guān)鍵技術(shù)之一就是如何從故障模式庫(kù)中找出與嵌入式軟件相關(guān)的故障模式。文章將介紹使用Apriori算法實(shí)現(xiàn)關(guān)聯(lián)規(guī)則挖掘在該智能測(cè)試方法中的應(yīng)用。
2 關(guān)聯(lián)規(guī)則挖掘過(guò)程
2.1 挖掘任務(wù)
該智能測(cè)試方法要根據(jù)用戶(hù)要求為軟件系統(tǒng)提供最有效、最相關(guān)的故障模式,而要實(shí)現(xiàn)此功能就必須依據(jù)一定的推理規(guī)則,所以在這里關(guān)聯(lián)規(guī)則挖掘的任務(wù)就是要從大量的故障模式數(shù)據(jù)中獲取一定的關(guān)聯(lián)規(guī)則,作為測(cè)試方法中要用到的推理規(guī)則的一部分。以后文章所提到的關(guān)聯(lián)規(guī)則就是指推理規(guī)則。
2.2 數(shù)據(jù)準(zhǔn)備
我們假設(shè)在某行業(yè)嵌入式軟件故障模式庫(kù)中,故障模式數(shù)據(jù)記錄在一個(gè)關(guān)系數(shù)據(jù)庫(kù)中。下面列出其中最重要的一張數(shù)據(jù)表。
在上述表格中,每條故障模式包含信息有:編號(hào)、軟件類(lèi)型、模塊類(lèi)型、編程語(yǔ)言、故障模式名稱(chēng)、出錯(cuò)次數(shù)、危害程度。其中主要特征的含義如下:
●軟件類(lèi)型:是指軟件系統(tǒng)的應(yīng)用類(lèi)型;
●模塊類(lèi)型:指一個(gè)軟件系統(tǒng)中的模塊的分類(lèi),例如是圖形模塊、編澤器模塊還是通訊模塊等等,當(dāng)然還可以分的更細(xì);
●編程語(yǔ)言:是用什么語(yǔ)言編程,C++、iava或是C#等;
●故障模式描述:故障模式的描述;
●出錯(cuò)次數(shù):符合這種故障模式的錯(cuò)誤次數(shù);
●危害度:此故障模式測(cè)出的錯(cuò)誤的危害程度。
當(dāng)然除了上述特征外,還有另外一些特征,例如編程工具、軟件運(yùn)行平臺(tái)等,上表沒(méi)有一一列舉。
將這些特征除全部數(shù)值化和離散化表示,這樣符合關(guān)聯(lián)規(guī)則挖掘的要求。我們的目的主要是想通過(guò)關(guān)聯(lián)規(guī)則挖掘找出諸如什么類(lèi)型的軟件的故障模式導(dǎo)致較高的危害,或者什么類(lèi)型的模塊中什么類(lèi)型的故障模式出錯(cuò)次數(shù)較多等等推理規(guī)則,這些規(guī)則止是故障模式提供中要用到的。把這些數(shù)據(jù)準(zhǔn)備好以后,下面就可以挖掘關(guān)聯(lián)規(guī)則了。
2.3 挖掘關(guān)聯(lián)規(guī)則
我們指定最小支持度和最小可信度,這可以由系統(tǒng)缺省指定,也可以由用戶(hù)自己指定。假設(shè)最小支持度為50%,要求的最小支持度越高,挖掘出的規(guī)則越少,挖掘的過(guò)程也越快;最小可信度為50%。然后利用Apriofi算法對(duì)故障模式數(shù)據(jù)庫(kù)進(jìn)行挖掘處理,處理過(guò)程這里不再詳述。最終可以獲取一系列的關(guān)聯(lián)規(guī)則。其中可能的一條規(guī)則形式如下:
(軟件類(lèi)型=3,輸入類(lèi)型=15)=> (出錯(cuò)次數(shù)>=4,危害度>=4)
支持度為60.77%,可信度是85.18%,期望可信度是84.00%,作用度是1.03
這條規(guī)則表明,60.77%的軟件類(lèi)型為3,故障模式類(lèi)型為15的故障模式它們的出錯(cuò)次數(shù)>=4,危害度>-4。
2.4 應(yīng)用關(guān)聯(lián)規(guī)則
運(yùn)用上述規(guī)則,軟件故障模式庫(kù)根據(jù)用戶(hù)所提供的軟件的特征,將滿(mǎn)足此規(guī)則的所有故障模式推薦給用戶(hù)。用戶(hù)首先給出其軟件的類(lèi)型,假定為3,然后再給出危害度>=4,最小支持度為50%,則故障模式庫(kù)根據(jù)上述規(guī)則將所有故障模式描述為15的故障模式列舉出來(lái)給用戶(hù),實(shí)現(xiàn)了所要求的功能。
通過(guò)以上步驟,得到了一些關(guān)聯(lián)規(guī)則。當(dāng)然在實(shí)際運(yùn)用中,還應(yīng)該反復(fù)作一些調(diào)整、比較,力求得到最符合實(shí)際、最能達(dá)到目標(biāo)要求的結(jié)果。有些關(guān)聯(lián)規(guī)則可能沒(méi)有任何意義,因該將其手動(dòng)剔除,以免導(dǎo)致故障模式庫(kù)提供一些無(wú)效的或不太相關(guān)的故障模式。
3 結(jié)束語(yǔ)
文章對(duì)關(guān)聯(lián)規(guī)則在軟件故障模式庫(kù)中的故障模式提供上的簡(jiǎn)單應(yīng)用作了描述,給出了挖掘步驟和方法,并舉例說(shuō)明了應(yīng)用于軟件故障模式庫(kù)的過(guò)程,具有一定的實(shí)用價(jià)值。但對(duì)關(guān)聯(lián)規(guī)則挖掘在軟件故障模式庫(kù)中更迸一步的應(yīng)用有待研究。
參考文獻(xiàn)
[1]范明,孟小峰.數(shù)據(jù)挖掘概念與技術(shù)[M].機(jī)械工業(yè)出版社.
[2]孫紅利,王忠民,王文.嵌入式軟件語(yǔ)句覆蓋率測(cè)試插樁技術(shù)[J].計(jì)算機(jī)應(yīng)用,2010,30(10):1-4.
[3]王軼展,徐萍.嵌入式軟件機(jī)內(nèi)測(cè)試的設(shè)計(jì)與測(cè)試[J].計(jì)算機(jī)工程,2009,35(17):34-39.
[4]田金蘭,黃剛.關(guān)聯(lián)規(guī)則挖掘在保險(xiǎn)業(yè)務(wù)中的應(yīng)用[0L].
[5]蔡偉杰,張曉輝,朱建秋,等.關(guān)聯(lián)規(guī)則挖掘綜述[J].計(jì)算機(jī)工程,2001.
[6]朱建秋,周皓峰,朱揚(yáng)勇,等.一個(gè)基于關(guān)聯(lián)規(guī)則的數(shù)據(jù)采掘工具的設(shè)計(jì)和實(shí)現(xiàn)[OL].