[發明專利]一種基于混合貝葉斯先驗分布的可靠性驗證測試方法無效
| 申請號: | 201110257955.1 | 申請日: | 2011-09-02 |
| 公開(公告)號: | CN102411537A | 公開(公告)日: | 2012-04-11 |
| 發明(設計)人: | 高峰;鄭曉云;李一晨;李剛;張振興 | 申請(專利權)人: | 哈爾濱工程大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京永創新實專利事務所 11121 | 代理人: | 趙文利 |
| 地址: | 150001 黑龍江*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 混合 貝葉斯 先驗 分布 可靠性 驗證 測試 方法 | ||
1.一種基于混合貝葉斯先驗分布的可靠性驗證測試方法,其特征在于,具體包括以下幾個步驟:
步驟一、采用共軛先驗分布的方法,確定未知失效概率p的先驗分布;
假定某軟件在任一運行時刻、任意選擇輸入的失效概率為p,且每次輸入操作執行是均滿足貝努利實驗的獨立統計性,則在n次執行中失效r次的概率為:
因為二項式分布的共軛先驗分布服從beta分布,所以失效概率p的概率密度函數的先驗分布為:
f(p)=pa-1(1-p)b-1/B(a,b)????????(1.0)
其中:a>0,b>0,為beta函數的超參數,且
步驟二、利用先驗矩方法確定共軛先驗分布中的超參數;
首先收集測試增長階段的測試信息,假設選取最后的m組測試信息作為先驗信息,每組測試中含有n個測試用例,其中m組測試信息中導致失效的測試用例數的個數分別為k1,k2,…,km,k1,k2,…,km組成樣本x,則樣本x的邊緣分布為:
其中:π(x|p)為樣本x對p條件分布,將公式(1.0)帶入公式(2.0)得出公式(2.1):
因為
則h(x)的一階矩,二階矩具體為:
通過公式(2.2)(2.3)獲取a,b的值如下:
a=Ex(Ex2-nEx)/[(n-1)(Ex)2+n(Ex-Ex2)]????(2.4)
b=(n-Ex)(Ex2-nEx)/[(n-1)(Ex)2+n(Ex-Ex2)]????(2.5)
其中:Ex為h(x)的一階矩,用樣本均值來估計超參數a和b,Ex2為h(x)的二階矩,用來估計超參數a和b,最后,通過先驗矩方法得到的超參數a和b的值分別記為a1和b1;
步驟三、利用最大熵方法確定共軛先驗分布中的超參數;
將失效概率p的先驗信息用f(p)如式(3.0)所述的約束方式表示:
其中:E[gk(p)]為f(p)的k階原點矩,即gk(p)=pk,將E[gk(p)]記為μk;本發明中E[pk]采用f(p)的二階原點矩,因此得到共軛最大熵求解公式如公式(3.1)所示;
其中:H(p)表示p的熵,f0(p)為問題自然的不變的無信息先驗分布,取值為1;則將公式(1.0)代入公式(3.1),得到公式(3.2):
取k=2,則:
公式(3.1)為條件極值問題,利用拉格朗日乘數法將條件極值轉換為無條件極值;具體為:
令:
獲取的無條件極值,則;
式中:λ是拉格朗日求極值過程的一個參數,Fa(a,b,λ)表示F(a,b,λ)對a求偏導,Fb(a,b,λ)表示F(a,b,λ)對b求偏導,Fλ(a,b,λ)表示F(a,b,λ)對λ求偏導,ha表示對a求偏導、hb表示對b求偏導;根據方程組(3.5)獲取得到a和b的值,分別記為a2和b2;
步驟四、采用第二類極大似然方法確定步驟二和步驟三中得出的兩種先驗分布的權重;
具體步驟如下:
步驟4.1:將先驗矩方法得出的分布函數記為π1(p),
其中:m(x|πk)為先驗分布的邊緣分布,L(X|πk)為似然函數;
步驟4.2:根據公式(4.2)獲取兩種分布的置信因子,并將置信因子作為超參數的權重;
其中:ε1為先驗矩方法取得的分布的置信因子,ε2為最大熵方法取得的分布的置信因子;
步驟五、按不同的權重將兩種方法估計出的超參數值進行融合,確定最終先驗分布的超參數;
a=ε1a1+ε2a2
???????????????????????????????????(5.0)
b=ε1b1+ε2b2
步驟六、確定可靠性驗證測試無失效最小測試用例數;
步驟6.1:通過上述步驟,得到了未知失效概率p的先驗分布,確定第一輪可靠性驗證測試的無失效最小測試用例數n1,將公式(5.0)求出的a,b值代入公式(6.0),得到n1:
其中:(p0,c)為要求的可靠性指標已知,p0為失效率指標,c為置信度指標,f(p|0,n,a,b)為執行了n個測試用例發生0個失效的概率分布;
步驟6.2:若根據步驟6.1第一輪得到的n1個測試用例全部無失效通過測試,則說明該軟件符合給定的可靠性要求,驗證結束;否則,若第一輪執行到第t1個測試用例發生失效,說明不符合驗收指標,排除故障后需進行第二輪可靠性驗證測試,轉入步驟6.3;
步驟6.3:把第一輪可靠性驗證測試執行通過的測試用例數(t1-1)和失效的用例數1,作為先驗信息融入到先驗分布中,得到新的概率分布f(p|1,t1,a,b),見公式(6.1)所示;再根據公式(6.2)確定第二輪測試所需最小的無失效用例數n2;
其中:f(p|1,t1+n2,a,b)為在第1輪的基礎上,無失效執行n2個測試用例的概率分布,仿真計算出n2的值;
若n2個無失效用例全部無失效通過測試,則說明該軟件符合給定的可靠性要求,驗證結束;否則,若第二輪測試執行到第t2個測試用例發生失效,說明不符合驗收指標,排除故障后需進行第下一輪可靠性驗證測試,轉入步驟6.4;
步驟6.4:以此類推,若可靠性驗證測試進行了i輪,各輪失效分別發生在第t1,t1+t2,,...t,1+t2+t3+...+i個測試用例上,則由公式(6.3)獲取下一輪測試需要的無失效的最少用例數ni+1;
其中:為i輪測試共執行的測試用例數,為i輪測試共通過的測試用例數,令則公式(6.3)變為:
利用公式(6.4),獲取累積的總測試用例量Ni+1,然后再根據得到具體的第i+1輪可靠性驗證測試所需要的無失效測試用例量ni+1;根據第i+1輪可靠性驗證測試所需要的無失效測試用例量ni+1進行軟件可靠性測試。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工程大學,未經哈爾濱工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201110257955.1/1.html,轉載請聲明來源鉆瓜專利網。





