[發(fā)明專利]一種提高模糊測試效率的方法和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201811257109.8 | 申請(qǐng)日: | 2018-10-26 |
| 公開(公告)號(hào): | CN109522221B | 公開(公告)日: | 2021-08-31 |
| 發(fā)明(設(shè)計(jì))人: | 陳愷;宗珮媛;梁瑞剛 | 申請(qǐng)(專利權(quán))人: | 中國科學(xué)院信息工程研究所 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京君尚知識(shí)產(chǎn)權(quán)代理有限公司 11200 | 代理人: | 邱曉鋒 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 提高 模糊 測試 效率 方法 系統(tǒng) | ||
1.一種提高模糊測試效率的方法,其特征在于,包括以下步驟:
1)收集模糊測試器變異生成的輸入和所述輸入的目標(biāo)代碼可達(dá)性信息,作為訓(xùn)練數(shù)據(jù);
2)利用所述訓(xùn)練數(shù)據(jù),訓(xùn)練輸入與目標(biāo)代碼可達(dá)性的深度學(xué)習(xí)模型;所述深度學(xué)習(xí)模型的學(xué)習(xí)目標(biāo)是判斷輸入在目標(biāo)程序中的目標(biāo)代碼可達(dá)性,通過將輸入和可達(dá)性進(jìn)行映射,利用神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)的擬合能力計(jì)算出合適的權(quán)重信息;
3)利用訓(xùn)練完成的深度學(xué)習(xí)模型,判斷新的輸入在目標(biāo)程序中的目標(biāo)代碼可達(dá)性,若可達(dá)則將所述新的輸入交付給目標(biāo)程序執(zhí)行,若不可達(dá)則丟棄所述新的輸入。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟3)利用所述深度學(xué)習(xí)模型對(duì)所述新的輸入進(jìn)行預(yù)判,若預(yù)判值為可達(dá),則將所述新的輸入交付給目標(biāo)程序執(zhí)行;若預(yù)判值為不可達(dá),則通過比較不可達(dá)輸入的特征與所述新的輸入的特征是否相似來檢查預(yù)判值是否可信;若可信則丟棄此輸入,若不可信則將所述新的輸入交付給目標(biāo)程序執(zhí)行。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟2)首先對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行向量化處理,然后通過增量訓(xùn)練的方式訓(xùn)練得到一個(gè)初始深度學(xué)習(xí)模型,并根據(jù)模型測試結(jié)果不斷地利用誤判數(shù)據(jù)在初始深度學(xué)習(xí)模型的基礎(chǔ)上實(shí)時(shí)地更新修正模型。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述向量化處理包括:
a)對(duì)數(shù)據(jù)長度進(jìn)行歸一化,以n為程序輸入文件的最長字節(jié)數(shù),不足n字節(jié)的輸入數(shù)據(jù)用0進(jìn)行補(bǔ)全,超過n字節(jié)的輸入數(shù)據(jù)則只取前n字節(jié);
b)將程序輸入的十六進(jìn)制表示轉(zhuǎn)換為十進(jìn)制表示,每個(gè)字節(jié)b用0-255中的一個(gè)數(shù)字來表示,輸入數(shù)據(jù)則為一個(gè)長度為n的向量;程序輸入的目標(biāo)代碼可達(dá)性只有兩個(gè)值,即可達(dá)或不可達(dá),用數(shù)字0表示不可達(dá),用數(shù)字1表示可達(dá),輸入數(shù)據(jù)對(duì)應(yīng)的可達(dá)性標(biāo)簽數(shù)據(jù)e是一個(gè)取值為0或1的量值。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述增量訓(xùn)練的方式包括:
a)對(duì)數(shù)據(jù)集進(jìn)行隨機(jī)化,使數(shù)據(jù)分布盡量均勻,以保證后續(xù)學(xué)習(xí)過程不會(huì)發(fā)生震蕩性變化;
b)對(duì)數(shù)據(jù)集進(jìn)行批次劃分,按照批次連續(xù)訓(xùn)練模型,在每個(gè)批次訓(xùn)練結(jié)束之后進(jìn)行測試操作;
c)通過梯度下降算法尋找使得所有數(shù)據(jù)偏差最小的網(wǎng)絡(luò)權(quán)重值,作為模型學(xué)習(xí)到的代表目標(biāo)代碼可達(dá)性的輸入特征。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,通過提取深度神經(jīng)網(wǎng)絡(luò)中的特征映射來捕獲所述新的輸入中每個(gè)位置對(duì)最終預(yù)判結(jié)果貢獻(xiàn)程度的權(quán)重,從而得到所述新的輸入的特征;通過對(duì)訓(xùn)練數(shù)據(jù)中的不可達(dá)輸入進(jìn)行特征提取,并將不重復(fù)的特征錄入列表中作為不可達(dá)輸入的特征,用作后續(xù)的特征比較。
7.根據(jù)權(quán)利要求2或6所述的方法,其特征在于,在進(jìn)行特征比較后,若不可信則將所述新的輸入交付給目標(biāo)程序執(zhí)行并進(jìn)行驗(yàn)證,若為誤判,則反饋給數(shù)據(jù)收集步驟以待后續(xù)學(xué)習(xí)訓(xùn)練中對(duì)模型進(jìn)行修正,否則將輸入特征錄入已知的不可達(dá)輸入特征列表中。
8.一種提高模糊測試效率的系統(tǒng),其特征在于,包括:
數(shù)據(jù)收集模塊,負(fù)責(zé)收集模糊測試器變異生成的輸入和所述輸入的目標(biāo)代碼可達(dá)性信息,作為訓(xùn)練數(shù)據(jù);
模型構(gòu)建模塊,負(fù)責(zé)利用所述訓(xùn)練數(shù)據(jù),訓(xùn)練輸入與目標(biāo)代碼可達(dá)性的深度學(xué)習(xí)模型;所述深度學(xué)習(xí)模型的學(xué)習(xí)目標(biāo)是判斷輸入在目標(biāo)程序中的目標(biāo)代碼可達(dá)性,通過將輸入和可達(dá)性進(jìn)行映射,利用神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)的擬合能力計(jì)算出合適的權(quán)重信息;
輸入過濾模塊,負(fù)責(zé)利用訓(xùn)練完成的深度學(xué)習(xí)模型,判斷新的輸入在目標(biāo)程序中的目標(biāo)代碼可達(dá)性,若可達(dá)則將所述新的輸入交付給目標(biāo)程序執(zhí)行,若不可達(dá)則丟棄所述新的輸入。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述輸入過濾模塊利用所述深度學(xué)習(xí)模型對(duì)所述新的輸入進(jìn)行預(yù)判,若預(yù)判值為可達(dá),則將所述新的輸入交付給目標(biāo)程序執(zhí)行;若預(yù)判值為不可達(dá),則通過比較不可達(dá)輸入的特征與所述新的輸入的特征是否相似來檢查預(yù)判值是否可信;若可信則丟棄此輸入,若不可信則將所述新的輸入交付給目標(biāo)程序執(zhí)行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國科學(xué)院信息工程研究所,未經(jīng)中國科學(xué)院信息工程研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811257109.8/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤





