999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于軟件圈復雜度相關的不完美排錯可靠性增長模型*

2019-11-28 03:09:52李耀敏
艦船電子工程 2019年11期
關鍵詞:故障模型

張 峰 費 琪 李耀敏

(1.91404部隊 秦皇島 066000)(2.江蘇自動化研究所 連云港 222061)(3.中船重工集團第722研究所 武漢 430205)

1 引言

隨著社會的發展,產品變得越來越智能,部分硬件已被軟件完全代替,軟件在當今社會發展中所占比重已遠遠超越硬件,且在產品事故率統計中,失效事件絕大多數都是由軟件失效引起的,故軟件的質量在人們生活中已變得越來越重要,軟件可靠性直接影響著軟件質量和開發成本[1~3],軟件可靠性評測的關鍵是構建軟件可靠性模型,因此建立科學合理的評測模型便成為軟件評測中的關鍵問題。

1970年Goel和Okumoto首次使用非齊次泊松過程(Non-Homogeneous Poisson Process,NHPP)描述軟件可靠性模型,G-O模型[3]。此后在此模型的基礎上,提出 了 很 多 新模型[4~15],包括 Delayed S-shaped 模 型[9]、Weibull-TEF 模 型[10]和 變型 S型-TEF模型[8]。通過對這些模型進行分析,存在如下缺陷:

1)在建立可靠性模型時未與軟件圈復雜度進行關聯,不同等級的圈復雜度對應軟件的復雜程度不同,測試人員對此進行檢測時,檢測效率會不同,開發人員對相應問題進行排錯時,排錯率及錯誤引入率也會不同;

2)在進行可靠性建模時,不能同時引入故障檢測率、錯誤排除率、錯誤引入率。

軟件圈復雜度(Cyclomatic Complexity)是一種代碼復雜度的衡量標準,在1976年由Thomas J.McCabe,Sr.提出[11]。在軟件測試的概念里,圈復雜度用來衡量一個模塊判定結構的復雜程度,數量上表現為線性無關的路徑條數,即合理的預防錯誤所需測試的最少路徑條數。圈復雜度大說明程序代碼可能質量低且難于測試和維護,根據經驗,程序的可能錯誤和高的圈復雜度有著很大關系。

本文依據圈復雜度的值將此劃分為三個等級低、中、高,針對不同等級的圈復雜度對應的代碼狀況、可測性、維護成本、對測試人員測試能力要求及開發人員對問題的排錯能力如表1所示。

2 基于軟件圈復雜度相關的不完美排錯可靠性增長模型建立

在構建基于軟件的不完美排錯非齊次泊松過程可靠性模型時,需做如下假設:

1)軟件執行的任務剖面與可靠性測試時所執行的剖面相同;

2)測試人員在任意時間序列內發現的問題是相互獨立互不相關的;

3)在時刻 t發現的錯誤累計數 [M(t),t≥0]是一個隨時間變化獨立增長的過程,M(t)為服從期望函數 f(t)的泊松分布(備注:低圈復雜度、中圈復雜度及高圈復雜度分別服從期望函數為 f1(t)、f2(t)及 f3(t)的Poisson分布);

4)在時間間隔 (t,t+Δt)內,故障檢測率 c(t)定義為:時間間隔(t,t+Δt)內檢測到故障總數的期望值與軟件剩余未發現故障數的比例,滿足0<c(t)<1的條件,不同圈復雜度軟件模塊對應的故障檢測率也不同,故進一步對不同圈復雜度軟件模塊的故障檢測率c(t)做如下詳細分解。

表1 圈復雜度對應劃分表

(1)針對低圈復雜度的軟件模塊,對測試人員能力要求低,每個測試人員檢測出故障的概率相似,故假設故障檢測率為常量,即:c1(t)=c;

(2)針對圈復雜度為中及高的軟件模塊,記故障檢測率分別為c2(t)及c3(t),不同測試人員故障檢測率不同,經驗豐富、測試人員學習能力越高、對軟件越熟悉的人對應的故障檢測率也越高。

5)在時間間隔 (t,t+Δt)內,排錯率 p(t)定義為:時間間隔(t,t+Δt)內開發人員排除的錯誤數與單位時間內測試人員期望發現的故障數成正比,滿足0<p(t)≤1的條件,不同圈復雜度軟件模塊對應的故障排除率也不同,故進一步對不同圈復雜度軟件模塊的故障排錯率 p(t)做如下詳細分解。

(1)針對低圈復雜度及中圈復雜度的軟件模塊,記排錯率分別為 p1(t),因軟件較簡單,故開發人員為完美排錯,可將所有錯誤都排除,即排錯率為p1(t)=1;

(2)針對中圈復雜度及高圈復雜度的軟件模塊,記排錯率為 p2(t)及 p3(t),因軟件特別復雜,開發人員在排錯時很難將所有錯誤排除,即滿足0<p2(t)<1,0<p3(t)<1的條件。

6)在時間間隔 (t,t+Δt)內,錯誤引入率 y(t)的變化定義為:時間間隔(t,t+Δt)內預估錯誤總數的變化與單位時間內開發人員排除的錯誤數成正比,滿足0≤y(t)<1的條件,不同圈復雜度軟件模塊對應的錯誤引入率也不同,故進一步對不同圈復雜度軟件模塊的錯誤引入率y(t)做如下詳細分解:

(1)針對低圈復雜度軟件模塊,記錯誤引入率為 y1(t),因軟件簡單,故開發人員排錯時相對容易,對排錯是完美排錯,即錯誤引入率為y1(t)=0;

(2)針對中圈復雜度的軟件模塊,記錯誤引入率為y2(t),軟件相對復雜,開發人員排錯時為非完美排錯,但針對已排除的錯誤,不會引入新的錯誤,即錯誤引入率為y2(t)=0;

(3)針對高圈復雜度的的軟件模塊,記錯誤引入率為 y3(t),因軟件特別復雜,開發人員為非完美排錯,排錯過程中會引入新問題,即滿足0<y3(t)<1的條件。

依據上述6個假設,可以針對不同圈復雜度的軟件模塊進行可靠性建模,上述前3個假設為NHPP可靠性模型的統一假設,后3個假設是與軟件圈復雜度相關聯的可靠性模型建模假設。

2.1 不完美排錯NHPP可靠性一般模型建立

依據基于軟件圈復雜度相關的不完美排錯可靠性增長模型假設4)、5)、6)可得如下不完美排錯NHPP可靠性增長的一般模型方程組:

備注:f(t)為期望故障數,c(t)為測試人員對軟件的故障檢測率,s(t)為軟件中預期故障總數,j(t)為已解決錯誤數,p(t)為開發人員在排除錯誤時的錯誤排除率,y(t)為非完美排錯時的錯誤引入率。

2.2 低圈復雜度軟件模塊的NHPP可靠性模型建立

依據方程(1)及可靠性模型假設4)、5)、6)可得針對低圈復雜度軟件模塊的NHPP可靠性模型為

基于上述針對低圈復雜度,軟件測試人員對錯誤的檢測率及開發人員對錯誤的排錯率分析得出如下條件:

由方程(2)和(3)可得低圈復雜度軟件模塊的期望故障數為

其中s1為初始時刻預期的軟件故障數,c1表示測試人員的排錯率。

2.3 中圈復雜度軟件模塊的NHPP可靠性模型建立

依據方程(1)及可靠性模型假設4)、5)、6)可得針對中圈復雜度軟件模塊的NHPP可靠性模型為

基于上述針對中圈復雜度,軟件測試人員對錯誤的檢測率及開發人員對錯誤的排錯率分析得出如下條件:

其中 p2滿足0<p2<1的條件。

測試人員對中圈復雜度的故障檢測率隨著對軟件產品的熟悉,故障檢測率會提升,當學習到一定程度,故障檢測率便會穩定下來,符合S型變化曲線,此塊關于故障檢測率本文用Logistic曲線來描述測試人員對故障的檢測能力。

其中a為測試人員對中圈復雜度軟件模塊的初始故障檢測率,b為測試人員學習能力的尺度。滿足如下條件:0<a<1,b>0,依據方程(5)、(6)、(7)可得中圈復雜度軟件模塊的期望故障數為

其中s2表示初始時刻預期的軟件故障總數。

2.4 高圈復雜度軟件模塊的NHPP可靠性模型建立

依據方程(1)及可靠性模型假設4)、5)、6)可得針對高圈復雜度軟件模塊的NHPP可靠性模型為

基于上述針對高圈復雜度的軟件模塊,軟件測試人員對錯誤的檢測率及開發人員對錯誤的排錯率、錯誤引入率分析得出如下條件:

其中 p3、y滿足0<p3<1、0<y<1的條件。

c3(t)在此借用中圈復雜度的模型,用Logistic增長模型來描述測試人員的能力。

其中m為測試人員對高圈復雜度軟件模塊的初始故障檢測率,n為測試人員學習能力的尺度。滿足如下條件:0<m<1,n>0,依據方程(9)、(10)、(11)可得高圈復雜度軟件模塊的期望故障數為

備注:s3表示初始時刻預期的軟件故障總數。

由此本文分別求得了低圈復雜度、中圈復雜度、高圈復雜度軟件模塊的期望故障數,任一軟件的期望故障數為

3 最大似然估計及模型求解

為了更好地預估不同圈復雜度的故障函數中的參數,采用最小誤差平方和來計算:

其中k為測試階段數,ti為i階段軟件累計運行時間,xi為第i階段發現低圈復雜度軟件模塊的問題數,yi為第i階段發現中圈復雜度軟件模塊的問題數,zi為第i階段發現高圈復雜度軟件模塊的問題數,為獲得低圈復雜度軟件模塊可靠性參數的最小誤差平方和,SSE1分別對c1、s1求偏導,得如下方程組:

為獲得中圈復雜度軟件模塊可靠性參數最小誤差平方和,SSE2對s2、a、b、p2分別求偏導,得如下方程組:

為獲得高圈復雜度軟件模塊可靠性參數最小誤差平方和,SSE3對s3、m、n、p3、y分別求偏導,得如下方程組:

在 約 束 條 件 為 :0<c1<1 、0<s1<∞ 、0<s2<∞ 、0<s3<∞ 、0<a<1 、0<b<1 、0<m<1、0<n<1、0<ρ1<1、0<ρ2<1、0<ρ3<1、0<y<1條件下通過方程(15)、(16)、(17)即可求得參數s1、s2、s3、a、b、m、n、p1、p2、p3、y的值。

4 實驗分析

為了證明本模型的有效性,并對新模型進行評估,引入某軟件測評中心針對通信系統的測評數據進行評估,表2給出了問題的發布時間及問題所對應的軟件模塊的圈復雜度等級,測試團隊從第1周開始測試直至第32周結束共發現問題總數為1264個,軟件問題與檢測時間、軟件模塊對應情況見表2~表5。

表2 低圈復雜度軟件模塊對應問題缺陷統計表

表3 中圈復雜度軟件模塊對應問題缺陷統計表

表4 高圈復雜度軟件模塊對應問題缺陷統計表

表5 軟件對應問題缺陷統計表

針 對 表 2,由 方 程(15)可 求 得 s1=805,c1=0.398,將其代入方程(13)可得低圈復雜度的軟件可靠性模型為

低圈復雜度故障擬合效果如圖1所示。

圖1 低圈復雜度軟件模塊故障數量擬合圖

針 對 表 3,由 方 程(16)可 求 得 :s2=267,p2=0.77,a=0.36,b=0.69,將其代入方程(8)可得中圈復雜度的軟件可靠性模型為

中圈復雜度故障擬合效果如圖2所示。

圖2 中圈復雜度軟件模塊故障數量擬合圖

針對表4,由方程(17)可求得 s3=67,p3=0.61,m=0.43,n=0.26,y=0.02,將其代入方程(12)可得高圈復雜度的軟件可靠性模型為

高圈復雜度故障擬合效果如圖3所示。

由方程(13)、(18)、(19)、(20)可得基于圈復雜度的軟件可靠性模型為

基于軟件圈復雜度的故障擬合效果如圖4所示。

圖3 高圈復雜度軟件模塊故障數量擬合圖

圖4 基于軟件圈復雜度模型的故障數量擬合圖

通過MSE度量模型與G-O模型、Delayed S-shaped 模型、Inflected S-Shaped Model(ISS)模型、變型S型-TEF模型、Logistic-WE模型進行比較,比較結果見表6所示。

表6 MSE比較

通過以上實驗分析,本文通過針對不同軟件圈復雜度的特性進行分析,分別建模,更貼近實際,得到的可靠性模型擬合效果優于現有的模型。

5 結語

本文通過將軟件圈復雜度劃分為三個等級:普通、復雜、特別復雜。針對不同等級的圈復雜度,分別從代碼狀況、可測性、可維護性、對測試人員能力的要求、對開發人員能力的要求5維角度進行了充分分析,從而首次提出了基于軟件圈復雜度相關的不完美排錯可靠性增長模型。在進行可靠性模型建模的同時綜合考慮了故障的檢測率、故障排錯率、排錯時故障的引入率三大因素,更加切合實際,并通過實際測試數據對本模型進行應用,并與現有模型進行了比較,證明了本模型的優越性。

猜你喜歡
故障模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
故障一點通
3D打印中的模型分割與打包
奔馳R320車ABS、ESP故障燈異常點亮
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
故障一點通
故障一點通
故障一點通
主站蜘蛛池模板: 中国国产A一级毛片| 欧美亚洲国产一区| 亚洲A∨无码精品午夜在线观看| a毛片在线免费观看| 国产欧美高清| 国产视频a| 国产成人AV男人的天堂| 无码内射在线| 91美女视频在线| 黄色网站不卡无码| 99热亚洲精品6码| 久久久久免费看成人影片 | 丁香六月激情婷婷| 亚洲精品黄| 国产九九精品视频| 在线观看av永久| 日韩高清欧美| 亚洲伦理一区二区| 色噜噜综合网| 午夜国产精品视频黄| 成年女人a毛片免费视频| 久久国产亚洲偷自| 国产特级毛片aaaaaa| 日韩成人午夜| 久久毛片网| 国产成人综合久久精品尤物| 嫩草国产在线| 精品国产免费人成在线观看| 2020精品极品国产色在线观看| 国产肉感大码AV无码| 国产新AV天堂| 国产成人精品视频一区二区电影 | 欧美精品成人一区二区视频一| 综合色88| 免费在线不卡视频| 最近最新中文字幕在线第一页| 91色在线观看| 无码AV日韩一二三区| 高潮毛片无遮挡高清视频播放| 国产精品第三页在线看| 99国产精品一区二区| 91精品免费高清在线| 亚洲高清在线播放| AV不卡在线永久免费观看| 免费一看一级毛片| 欧美一区二区啪啪| 久久久久无码精品国产免费| 国产女主播一区| AV在线天堂进入| 久久精品国产免费观看频道| 在线观看视频一区二区| 欧美三级视频网站| 青青青视频91在线 | 国产激情无码一区二区APP | 国模沟沟一区二区三区| 日韩精品专区免费无码aⅴ| 亚洲一区色| 九九热视频精品在线| 久久视精品| 亚洲中文字幕久久无码精品A| 女人毛片a级大学毛片免费| 国产视频资源在线观看| 99精品免费在线| 中文字幕人成人乱码亚洲电影| 美女高潮全身流白浆福利区| 国产91成人| 456亚洲人成高清在线| 91精品人妻互换| 欧美久久网| 久久成人18免费| 国产精品美女网站| 97久久免费视频| 手机成人午夜在线视频| 精品久久久久久久久久久| 亚洲欧美另类色图| 国产精品无码作爱| 天天婬欲婬香婬色婬视频播放| 国产一区二区精品高清在线观看| 好久久免费视频高清| 久久a级片| 看你懂的巨臀中文字幕一区二区| AV老司机AV天堂|