亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法

文檔序號(hào):6376130閱讀:528來(lái)源:國(guó)知局
專利名稱:一種嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)信息處理技術(shù)領(lǐng)域,具體涉及一種嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法。
背景技術(shù)
遺傳算法(Genetic Algorithm)是美國(guó)的Holland在1975年首先提出來(lái)的,它是一種基于自然選擇原理和自然遺傳機(jī)制的搜索尋優(yōu)算法,它模擬自然界中的生命進(jìn)化機(jī)制,在人工系統(tǒng)中實(shí)現(xiàn)特定目標(biāo)的優(yōu)化。它的操作對(duì)象是一群染色體(稱為個(gè)體),即種群(Population)。這里每個(gè)染色體都對(duì)應(yīng)于問(wèn)題的一個(gè)解。遺傳算法從初始種群出發(fā),采用基于適應(yīng)度比例的選擇策略在當(dāng)前種群中選擇個(gè)體,使用交叉和變異來(lái)產(chǎn)生下一代種群。如 此一代一代地演化下去,直到滿足期望的終止條件。遺傳算法在問(wèn)題解空間的表示上,是用單一的染色體表示問(wèn)題的一個(gè)潛在的可能解,運(yùn)行在一個(gè)染色體群體上的進(jìn)化過(guò)程和通過(guò)一個(gè)潛在解空間的搜索相對(duì)應(yīng)。嵌入式基礎(chǔ)軟件是一種安全關(guān)鍵軟件,為保證其質(zhì)量和可靠性,一般需要進(jìn)行軟件代碼邏輯覆蓋測(cè)試。邏輯覆蓋又可分為語(yǔ)句覆蓋、分支覆蓋、路徑覆蓋等。按分支覆蓋準(zhǔn)則進(jìn)行測(cè)試是指設(shè)計(jì)若干組測(cè)試數(shù)據(jù),運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次,即判斷的真假值均曾被滿足。根據(jù)域測(cè)試(Domain Testing)原理,被測(cè)軟件的輸入空間(即域)可分為不同的子空間,而子空間的劃分是由被測(cè)軟件中的分支謂詞決定的??拷涌臻g邊界的測(cè)試數(shù)據(jù)能夠更有效地發(fā)現(xiàn)被測(cè)軟件的路徑錯(cuò)誤和計(jì)算錯(cuò)誤。因此,分支覆蓋測(cè)試數(shù)據(jù)選擇的目標(biāo)是,以少量測(cè)試數(shù)據(jù)使被測(cè)軟件的所有分支都被執(zhí)行到,并且這些測(cè)試數(shù)據(jù)盡可能地接近子空間的邊界。由于嵌入式基礎(chǔ)軟件的規(guī)模較大,復(fù)雜程度較高,開(kāi)發(fā)分支覆蓋測(cè)試數(shù)據(jù)需要花費(fèi)大量的人力、物力,采用自動(dòng)化的手段可以有效地提高測(cè)試數(shù)據(jù)搜索的效率和質(zhì)量。許多傳統(tǒng)自動(dòng)化方法處理搜索空間的一個(gè)單點(diǎn)。例如爬山法,它使用迭代改進(jìn)法,每次迭代從現(xiàn)時(shí)點(diǎn)的領(lǐng)域選擇一個(gè)新的點(diǎn)。顯然,在多峰搜索空間中,它易于陷入假的局部峰值。

發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供一種嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法,本發(fā)明測(cè)試數(shù)據(jù)遺傳搜索方法可以方便地加以擴(kuò)展,以支持不同的輸入數(shù)據(jù)類型、復(fù)雜的分支謂詞、各種分支和循環(huán)程序結(jié)構(gòu)。本發(fā)明的目的是采用下述技術(shù)方案實(shí)現(xiàn)的一種嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法,其改進(jìn)之處在于,所述方法包括下述步驟(I)生成隨機(jī)數(shù);(2)選擇初始種群;
(3)按照參數(shù)編碼方式對(duì)所述初始種群的個(gè)體串映射成實(shí)際參數(shù)值,并傳遞給被測(cè)軟件;(4)確定適應(yīng)度函數(shù);(5)交叉變異對(duì)測(cè)試數(shù)據(jù)進(jìn)行改進(jìn),形成新一代更優(yōu)種群;(6)循環(huán)進(jìn)行步驟(I) - (5),直至找到覆蓋所有嵌入式基礎(chǔ)軟件分支的目標(biāo)參數(shù)值,測(cè)試數(shù)據(jù)遍歷被測(cè)軟件的所有分支,結(jié)束該搜索過(guò)程。其中,所述步驟(2)中,按照嵌入式基礎(chǔ)軟件參數(shù)要求選擇初始種群。其中,所述步驟(3)中,當(dāng)初始種群的個(gè)體串映射成實(shí)際參數(shù)值,并傳遞給被測(cè)軟件時(shí),驅(qū)動(dòng)被測(cè)軟件運(yùn)行;所述被測(cè)軟件是指嵌入式基礎(chǔ)軟件。
其中,所述步驟(4)中,根據(jù)被測(cè)嵌入式基礎(chǔ)軟件代碼確定適應(yīng)度函數(shù),所述適應(yīng)度函數(shù)以嵌入式基礎(chǔ)軟件代碼的分支謂詞為基礎(chǔ)。其中,為獲取嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)對(duì)被測(cè)軟件進(jìn)行插裝。其中,所述步驟(5)中,所述交叉變異是從一個(gè)點(diǎn)的群體開(kāi)始進(jìn)行。其中,所述方法為自適應(yīng)的測(cè)試數(shù)據(jù)搜索方法。與現(xiàn)有技術(shù)比,本發(fā)明達(dá)到的有益效果是嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法比其它方法具有更高的搜索效率。本發(fā)明的測(cè)試數(shù)據(jù)搜索方法以分支謂詞為基礎(chǔ),測(cè)試數(shù)據(jù)能夠遍歷被測(cè)軟件的所有分支,而且測(cè)試數(shù)據(jù)非??拷斎胱涌臻g的邊界。為了優(yōu)化適應(yīng)度函數(shù),通過(guò)遺傳算法一代一代地不斷修改測(cè)試數(shù)據(jù),形成了一種自適應(yīng)的測(cè)試數(shù)據(jù)搜索方法。本方法是從一個(gè)點(diǎn)的群體而不是從一個(gè)單一點(diǎn)進(jìn)行搜索,而許多傳統(tǒng)方法處理搜索空間的一個(gè)單點(diǎn),因而本方法落入假峰的概率比點(diǎn)到點(diǎn)的轉(zhuǎn)移搜索大大減少了,具有更好的收斂性和更高的搜索效率。本測(cè)試數(shù)據(jù)搜索方法可以方便地加以擴(kuò)展,以支持不同的輸入數(shù)據(jù)類型、復(fù)雜的分支謂詞、各種分支和循環(huán)程序結(jié)構(gòu)。


圖I是本發(fā)明提供的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法流程圖;圖2是本發(fā)明提供的IF-THEN-ELSE控制流樹(shù)及原被測(cè)軟件示意圖;圖3是本發(fā)明提供的被測(cè)軟件插裝舉例示意圖;圖4是本發(fā)明提供的被測(cè)軟件控制流樹(shù)。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步的詳細(xì)說(shuō)明。本發(fā)明提供的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法流程如圖I所示,該方法包括下述步驟(I)生成隨機(jī)數(shù);(2)選擇初始種群;(3)按照參數(shù)編碼方式對(duì)所述初始種群的個(gè)體串映射成實(shí)際參數(shù)值,并傳遞給被測(cè)軟件;(4)確定適應(yīng)度函數(shù);(5)交叉變異對(duì)測(cè)試數(shù)據(jù)進(jìn)行改進(jìn),形成新一代更優(yōu)種群;( 6 )循環(huán)進(jìn)行步驟(I) - ( 5 ),直至找到覆蓋所有嵌入式基礎(chǔ)軟件分支的目標(biāo)參數(shù)值,測(cè)試數(shù)據(jù)遍歷被測(cè)軟件的所有分支,結(jié)束該搜索過(guò)程。適應(yīng)度函數(shù)以嵌入式基礎(chǔ)軟件代碼的分支謂詞為基礎(chǔ),整個(gè)搜索過(guò)程從生成初始種群開(kāi)始,然后按照參數(shù)編碼方式將種群中的個(gè)體位串映射成實(shí)際參數(shù)值,并傳遞給被測(cè)軟件,驅(qū)動(dòng)被測(cè)軟件的運(yùn)行。根據(jù)被測(cè)嵌 入式基礎(chǔ)軟件代碼的特點(diǎn)確定適應(yīng)度函數(shù),被測(cè)軟件運(yùn)行時(shí)計(jì)算出適應(yīng)度函數(shù)值,評(píng)估每組測(cè)試數(shù)據(jù)的適應(yīng)度,適應(yīng)度越高說(shuō)明測(cè)試數(shù)據(jù)與預(yù)期效果越接近,之后利用交叉、變異等基本算子對(duì)測(cè)試數(shù)據(jù)進(jìn)行改進(jìn),形成新一代更優(yōu)種群,如此往復(fù),直至找到覆蓋所有分支的目標(biāo)參數(shù)值,測(cè)試數(shù)據(jù)能夠遍歷被測(cè)軟件的所有分支,就可以結(jié)束該搜索過(guò)程。下面結(jié)合IF條件語(yǔ)句,說(shuō)明基于遺傳算法的分支覆蓋測(cè)試數(shù)據(jù)搜索策略。圖2顯示了一個(gè)簡(jiǎn)單的IF-THEN-ELSE條件的例子。Cn代表分支謂詞,SN+i (對(duì)應(yīng)于節(jié)點(diǎn)(N+1))和SN+2 (對(duì)應(yīng)于節(jié)點(diǎn)(N+2))分別為待執(zhí)行的語(yǔ)句序列。如果Cn為真,執(zhí)行SN+1,否則執(zhí)行SN+2。假設(shè)CnSA=B, A和B為整數(shù)(也可能是輸入?yún)?shù)的復(fù)雜函數(shù))。為了執(zhí)行節(jié)點(diǎn)(N+1)中的SN+1,A必須取值B。為執(zhí)行節(jié)點(diǎn)(N+2)中的SN+2,A可以取不等于B的任何值(A幸B)。但是A的優(yōu)先取值為(B+1)和(B-1),因?yàn)檫@兩個(gè)值緊鄰子空間邊界,更有利于發(fā)現(xiàn)程序錯(cuò)誤。從遺傳算法角度來(lái)說(shuō),對(duì)于節(jié)點(diǎn)(N+1),A值與B越接近,適應(yīng)度(Fitness)就越高。為了獲取分支覆蓋測(cè)試數(shù)據(jù)需要對(duì)被測(cè)軟件進(jìn)行插裝,具體如下if Cn thenCHECK_BRANCH(NODE_NUMBER); L00KING_BRANCH (N0DE_NUMBER sib, DATAl SIB, DATA2 SIB);SN+1elseCHECK_BRANCH(NODE_NUMBER SIB);L00KING_BRANCH(N0DE_NUMBER, DATAI, DATA2);SN+2end if ;CHECK_BRANCH只有一個(gè)整數(shù)類型的輸入?yún)?shù),即節(jié)點(diǎn)號(hào)N0DE_NUMBER。CHECK_BRANCH記錄了該節(jié)點(diǎn)是否執(zhí)行過(guò)。如果已經(jīng)被執(zhí)行,保存有關(guān)的測(cè)試數(shù)據(jù)。這樣,可以開(kāi)始為下一個(gè)未遍歷的節(jié)點(diǎn)生成測(cè)試數(shù)據(jù)。L00KING_BRANCH的輸入?yún)?shù)有3個(gè),包括兄弟節(jié)點(diǎn)號(hào)N0DE_NUMBER SIB。如果兄弟節(jié)點(diǎn)尚未被遍歷,L00KING_BRANCH計(jì)算兄弟節(jié)點(diǎn)的適應(yīng)度。looking變量保存下一個(gè)未遍歷節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),L00KING_BRANCH根據(jù)變量looking 了解兄弟節(jié)點(diǎn)是否為需要遍歷的下一個(gè)節(jié)點(diǎn)。DATAl和DATA2的值僅取決于分支謂詞函數(shù),不需要其它信息。在上述例子中,執(zhí)行節(jié)點(diǎn)(N+1)的條件為Cn (A=B),此時(shí)DATAl的值為A,DATA2的值為B。對(duì)于節(jié)點(diǎn)(N+2),DATAl不變,而DATA2采用(B-I),如圖3所示,在使用“〉”的情況下(例如IF A>B THEN),取真分支的適應(yīng)度函數(shù)形式為FITNESS_FUNCTI0N(A,B+1)。在這里選擇(B + I)與A配對(duì),因?yàn)樗桥cA最接近的數(shù)據(jù)。反之,如果使用“IF A〈B”,則選擇(B-1)。實(shí)施例下面以一個(gè)簡(jiǎn)單的例子,說(shuō)明嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索過(guò)程,被測(cè)軟件的控制流樹(shù)及插裝形式如圖4所示。在此例子中,遺傳算法的主要參數(shù)設(shè)置如下生存概率Ps=O. 5,變異概率Pm=O. I,采用單點(diǎn)交叉。原被測(cè)軟件IF條件語(yǔ)句如下if A ^ B thenput ( “node 2,,);if A=B then put ( “node 3,,);elseput ( “node 4,,);end if ;elseput ( “node 5,,);end if ;經(jīng)過(guò)插裝的被測(cè)軟件IF條件語(yǔ)句如下if A ^ B thenCHECK_BRANCH(2);L00KING_BRANCH (5,A, B+1);if A=B thenCHECK_BRANCH(3);L00KING_BRANCH (4,A, B-1);elseCHECK_BRANCH(4);L00KING_BRANCH (3,A, B);end if ;elseCHECK_BRANCH(5);L00KING_BRANCH (2,A, B);S3end if ;(I)第一代表I顯示了第一代種群的4個(gè)成員,它們是由測(cè)試數(shù)據(jù)生成工具隨機(jī)生成的。其中Pi表示父代種群(Parent Population)的成員,A和B為輸入變量值,looking為待執(zhí)行節(jié)點(diǎn)的編號(hào),Path表示被當(dāng)前測(cè)試數(shù)據(jù)(A和B)遍歷的節(jié)點(diǎn)。chromosome顯示的是二進(jìn)制形式的測(cè)試數(shù)據(jù),每個(gè)測(cè)試數(shù)據(jù)通過(guò)5比特表示,因此染色體長(zhǎng)度為10比特,前5比特表示輸入數(shù)據(jù)A,后5比特表示輸入數(shù)據(jù)B。^為根據(jù)測(cè)試數(shù)據(jù)和待遍歷節(jié)點(diǎn)計(jì)算的適應(yīng)度,適應(yīng)度較高的群組成員進(jìn)入下一代的生存概率更大,F(xiàn)t代表該種群的總適應(yīng)度。表I第一代的父代種群
Pt A B I l_king Path ctiromosome ft F1 P1 4 ^lO 2 1,2, 4 OOtOO QiOlO 0.0278 0.076P2 -7 :15 21,5 11101 IllIl 0.0156
8 "I 2 I: 2,4 00010 11110 1:0204P4 3 —-6 I 2 U 5 11000 OllOf 0.0123__第一組測(cè)試數(shù)據(jù)(P1)輸入被測(cè)軟件后,待執(zhí)行的第一個(gè)節(jié)點(diǎn)是節(jié)點(diǎn)2 (looking值為2)。對(duì)于節(jié)點(diǎn)2,其適應(yīng)度函數(shù)為f = I/(IA-B 1+0. Ol)2,因?yàn)楸闅v條件A彡B的邊界測(cè)試數(shù)據(jù)為A=B。該適應(yīng)度函數(shù)保證了 A和B在數(shù)值上相互接近的測(cè)試數(shù)據(jù)具有更高的適應(yīng) 度。第一代測(cè)試數(shù)據(jù)執(zhí)行了節(jié)點(diǎn)1、2、4、5,僅有節(jié)點(diǎn)3沒(méi)有執(zhí)行。當(dāng)looking節(jié)點(diǎn)被某測(cè)試數(shù)據(jù)執(zhí)行后(在此例子中節(jié)點(diǎn)2被第一組測(cè)試數(shù)據(jù)P1執(zhí)行),仍然要計(jì)算其余測(cè)試數(shù)據(jù)對(duì)于looking節(jié)點(diǎn)的適應(yīng)度,但不生成子代種群(Offspring Population)。(2)第二代第一代種群作為搜索遍歷節(jié)點(diǎn)3測(cè)試數(shù)據(jù)的起點(diǎn),見(jiàn)表2。節(jié)點(diǎn)3的訪問(wèn)控制謂詞恰好與節(jié)點(diǎn)2相同,因此表2中的第二代測(cè)試數(shù)據(jù)及其適應(yīng)度與表I相同。在第二代種群中,looking節(jié)點(diǎn)(節(jié)點(diǎn)3)沒(méi)有被遍歷,因此遺傳算法需要通過(guò)交叉和變異生成后代,如表3所示,其中k代表交叉點(diǎn),變異的基因(比特)以斜體表示。表2第二代的父代種群
PiAB looking Path chroxxiosoinefs Ft
—4"IF" 3 1,2,4 "mlm 010100.0278 0J 6P2-7-15 3 I, 5 11101 111110.0156
P3815 3 L 2,4 00010 ililO0.0204
P43-6 3 I, 5-表3第二代的子代種群
0| P2 P4 3 I, 511101011/10.0204-7-14 5 0.071___3 I, S11/00mil0.00217-15—
O' P1 P4 3 I, 5O(MH)011010.0278O-(> 3
O4 j 31,2,411()00010100.02()43IO在表3中,通過(guò)交叉、變異新產(chǎn)生的子代測(cè)試數(shù)據(jù)以O(shè)i表示,其父代以Pi表示。這些父代成員是隨機(jī)選擇的。在重組過(guò)程中,兩個(gè)父代成員生成兩個(gè)子代成員。在子代種群中,O3與節(jié)點(diǎn)3的距離與P1相同,二者的適應(yīng)度也相同(O. 0278)。在子代種群中,O3的適應(yīng)度最高,因此生存下來(lái)進(jìn)入下一代種群的概率也比較高。但是子代種群的總適應(yīng)度Ft低于父代種群,這說(shuō)明從一個(gè)種群到下一種群在整體沒(méi)有得到改善?,F(xiàn)在我們有兩個(gè)種群(父代種群和子代種群),它們各有4個(gè)成員,將從這8個(gè)成員產(chǎn)生下一代種群。因?yàn)樯娓怕蔖s為O. 5,平均來(lái)說(shuō)下一代種群由這兩個(gè)種群的各2個(gè)成員組成。表4顯示了下一代4個(gè)成員的選擇過(guò)程。對(duì)應(yīng)于新一代種群的每個(gè)成員,生成一個(gè)O到I之間的隨機(jī)數(shù),如表4中第二行所示。如果隨機(jī)數(shù)大于0.5 (即大于Ps),選擇父代種群,否則選擇子代種群。完成種群選擇以后,生成另一個(gè)隨機(jī)數(shù),選擇種群中哪個(gè)成員生存進(jìn)入下一代。例如,選擇下一代種種群成員memberl的過(guò)程如下,第一次生成的隨機(jī)數(shù)為O. 678,這意味著選擇父代種群。生成的下一個(gè)隨機(jī)數(shù)是O. 257,因此選擇父代種群中的P10重復(fù)這個(gè)過(guò)程,得到下一代種群的其它3個(gè)成員。新一代顯示在表5的上部。表4子代種群的生存情況
下一代種群的成員 member! in mli r2 member3 mcmbcr4
r 父代代的選抒 0.6780.29Χ0,9780.457---------
: · K來(lái)的父代成M 0.257 P, - - OJtO P, — — iVAi 卜來(lái)的代成(4 — — 0.026 Oi — — 0,609 Os(3)第三代整個(gè)過(guò)程重復(fù)進(jìn)行,直到所有節(jié)點(diǎn)都被遍歷。表5-表7給出了第三代種群。通過(guò)Ft可以看出,第三代中的父代種群整體適應(yīng)度高于第二代。在通過(guò)交叉和變異生成的子代種群中,測(cè)試數(shù)據(jù)O1距全局最優(yōu)僅3個(gè)整數(shù)單位(11-8=3)。O1取得高適應(yīng)度,因此得以兩次生存下來(lái)進(jìn)入下一代。表5第三代種群(一)
PiABlooking |Pathchromosome I Ft
P14103I, 2, 4OOiOO 010100.0277 0.096P2-7-14 3I 511101 OIlll0.0204 P38153I, 2, 400010 111100.0204
P40-63 II 5omm Ο "0I0.02278__表6第三代種群(二)
.ο I Oj Pi Pj looking Path cliromosomc fi A j B~ k F,
I O1 P;__Pj__3__1,2,4 (X)(H(HK)Il) 0.1111 X [ Π 7 0.161
ΓοΓ___3__1,2,4 /0100 11/10 0.0099 5 I 15 —foT P2 P4 J__I 2 4 IIg(M)01101 0.0123 3 S 4
IO4___3__I 5 000/1 01111 0.0278 -H |-14__表7第三代種群(三)
下一代種群的成員 member I [ mcmbcr2 j mcmbcr3 | mcmbcr4 |
Γ 父代 Sr 代的選樣 0i040,2950J850J46---1--1--1--1--
,k/f:卜家的父代成 ¢4 — — — — 0,5400.952 P4
Ur:卜來(lái)|丨勺 f-代成 W 0.158 O· 0,331 O1 — —(4)第四代表8-表10給出了第四代種群,在其中的子代種群中,兩組測(cè)試數(shù)據(jù)(O1和O4)接近于達(dá)到目標(biāo)。實(shí)際上O4更接近全局最優(yōu),因此也得到更高的適應(yīng)度。從第三代到第四代,整體適應(yīng)度Ft提高了 280%。表8第四代種群權(quán)利要求
1.ー種嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳捜索方法,其特征在于,所述方法包括下述步驟 (1)生成隨機(jī)數(shù); (2)選擇初始種群; (3)按照參數(shù)編碼方式對(duì)所述初始種群的個(gè)體串映射成實(shí)際參數(shù)值,并傳遞給被測(cè)軟件; (4)確定適應(yīng)度函數(shù); (5)交叉變異對(duì)測(cè)試數(shù)據(jù)進(jìn)行改進(jìn),形成新一代更優(yōu)種群; (6)循環(huán)進(jìn)行步驟(I)-(5),直至找到覆蓋所有嵌入式基礎(chǔ)軟件分支的目標(biāo)參數(shù)值,測(cè)試數(shù)據(jù)遍歷被測(cè)軟件的所有分支,結(jié)束該搜索過(guò)程。
2.如權(quán)利要求I所述的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳捜索方法,其特征在于,所述步驟(2)中,按照嵌入式基礎(chǔ)軟件參數(shù)要求中選擇初始種群。
3.如權(quán)利要求I所述的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳捜索方法,其特征在于,所述步驟(3)中,當(dāng)初始種群的個(gè)體串映射成實(shí)際參數(shù)值,并傳遞給被測(cè)軟件時(shí),驅(qū)動(dòng)被測(cè)軟件運(yùn)行;所述被測(cè)軟件是指嵌入式基礎(chǔ)軟件。
4.如權(quán)利要求I所述的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳捜索方法,其特征在于,所述步驟(4)中,根據(jù)被測(cè)嵌入式基礎(chǔ)軟件代碼確定適應(yīng)度函數(shù),所述適應(yīng)度函數(shù)以嵌入式基礎(chǔ)軟件代碼的分支謂詞為基礎(chǔ)。
5.如權(quán)利要求4所述的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳捜索方法,其特征在于,為獲取嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)對(duì)被測(cè)軟件進(jìn)行插裝。
6.如權(quán)利要求I所述的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳捜索方法,其特征在干,所述步驟(5)中,所述交叉變異是從ー個(gè)點(diǎn)的群體開(kāi)始進(jìn)行。
7.如權(quán)利要求I所述的嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳捜索方法,其特征在于,所述方法為自適應(yīng)的測(cè)試數(shù)據(jù)搜索方法。
全文摘要
本發(fā)明涉及計(jì)算機(jī)信息處理技術(shù)領(lǐng)域,具體涉及一種嵌入式基礎(chǔ)軟件代碼分支覆蓋測(cè)試數(shù)據(jù)遺傳搜索方法,該方法將測(cè)試數(shù)據(jù)尋找過(guò)程轉(zhuǎn)化為基于遺傳算法的搜索和優(yōu)化過(guò)程,適應(yīng)度函數(shù)以被測(cè)軟件的分支謂詞為基礎(chǔ),測(cè)試數(shù)據(jù)能夠遍歷被測(cè)軟件的所有分支,而且測(cè)試數(shù)據(jù)非??拷斎胱涌臻g的邊界。而交叉變異是從一個(gè)點(diǎn)的群體而不是從一個(gè)單一點(diǎn)進(jìn)行搜索,因而落入假峰的概率比點(diǎn)到點(diǎn)的轉(zhuǎn)移搜索大大減少了,數(shù)據(jù)遺傳搜索效率高。
文檔編號(hào)G06N3/12GK102855191SQ20121032005
公開(kāi)日2013年1月2日 申請(qǐng)日期2012年8月31日 優(yōu)先權(quán)日2012年8月31日
發(fā)明者鄧世偉, 蘇曉艷, 齊超, 鄭彥興, 房友園, 楊廣華, 李冬紅, 施寅生 申請(qǐng)人:中國(guó)人民解放軍63928部隊(duì)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1