亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        形式化規(guī)范在軟件可靠性早期估計(jì)中的應(yīng)用研究

        2011-02-28 05:10:34呂閩暉呂敏蓉
        關(guān)鍵詞:軟件可靠性軟件測(cè)試實(shí)例

        呂閩暉,呂敏蓉

        (1.海軍工程大學(xué)裝備經(jīng)濟(jì)研究所,湖北 武漢 430033;2.湖南女子學(xué)院,湖南 長沙 410004)

        軟件可靠性研究的主要目的是評(píng)價(jià)和度量軟件的可靠性和預(yù)測(cè)軟件可靠性。軟件可靠性估計(jì)主要指應(yīng)用數(shù)理統(tǒng)計(jì)分析處理系統(tǒng)測(cè)試和系統(tǒng)運(yùn)行期間得到的失效數(shù)據(jù),對(duì)軟件系統(tǒng)當(dāng)前的可靠性進(jìn)行估計(jì)。主要目的是估計(jì)當(dāng)前可靠性,并確定可靠性模型水平的依據(jù)。

        1 非形式化統(tǒng)計(jì)使用測(cè)試的不足

        1.1 傳統(tǒng)使用剖面的不足

        軟件使用剖面[1]是關(guān)于如何使用軟件系統(tǒng)的一種量化描述,一個(gè)剖面就是一組操作及某個(gè)操作發(fā)生概率所組成的集合。例如:如果A在60%的時(shí)間內(nèi)發(fā)生,B在40%的時(shí)間內(nèi)發(fā)生,使用剖面就是 A:0.6,B:0.4。

        傳統(tǒng)理論認(rèn)為,剖面是反映軟件不同的客戶、用戶、系統(tǒng)模式、功能和操作的發(fā)生概率的一個(gè)量化特征,其目的是為軟件測(cè)試及其他軟件開發(fā)階段進(jìn)行資源分配提供相應(yīng)的參考信息,決定如何在軟件測(cè)試中進(jìn)行測(cè)試實(shí)例的生成,如何在測(cè)試過程中分配測(cè)試資源。

        傳統(tǒng)的剖面生成方法已經(jīng)為統(tǒng)計(jì)測(cè)試提供了一個(gè)良好的基礎(chǔ),然而這并不說明傳統(tǒng)的使用剖面的數(shù)據(jù)本身和相應(yīng)的獲得方法沒有缺陷。事實(shí)上,以下問題在傳統(tǒng)剖面中一直沒有得到有效解決:(1)剖面獲得方法主觀性較強(qiáng)。(2)統(tǒng)計(jì)所得使用頻率并不能完全代表軟件的實(shí)際應(yīng)用情況[2]。(3)影響可靠性度量[2]。

        1.2 非形式化統(tǒng)計(jì)使用測(cè)試的不足

        軟件測(cè)試占用了軟件開發(fā)過程中大量的人力物力資源,然而軟件測(cè)試卻往往缺乏較好的理論基礎(chǔ),測(cè)試數(shù)據(jù)即測(cè)試實(shí)例的選擇通常根據(jù)經(jīng)驗(yàn)作出,因此具有主觀性,并依賴于個(gè)人經(jīng)驗(yàn)。

        統(tǒng)計(jì)使用測(cè)試則是一種按軟件實(shí)際使用的方法來測(cè)試軟件的方法。測(cè)試實(shí)例是按照使用規(guī)范得到的,而使用規(guī)范是軟件預(yù)期使用的描述。統(tǒng)計(jì)測(cè)試根據(jù)用戶對(duì)軟件可靠性的期望,最大程度地利用可以支配的資源。另外,因?yàn)榻y(tǒng)計(jì)使用測(cè)試是以概率統(tǒng)計(jì)為基礎(chǔ)的,因此利用統(tǒng)計(jì)測(cè)試得到的數(shù)據(jù)也可以利用概率統(tǒng)計(jì)的方法來預(yù)測(cè)軟件可靠性,從而為可靠性度量提供數(shù)據(jù),并可以相應(yīng)進(jìn)行軟件的可靠性度量,另外還可以決定軟件測(cè)試可以停止的標(biāo)準(zhǔn)。這一切都可以使得軟件可靠性處在嚴(yán)密 控 制 之 下[4,6]。

        2 早期可靠性估計(jì)方法及其改進(jìn)

        2.1 使用SDL進(jìn)行使用實(shí)例建模

        在文獻(xiàn)[5]中通過引入狀態(tài)層次模型,有可能減少統(tǒng)計(jì)使用測(cè)試中的狀態(tài)爆炸問題,該方法采用馬爾科夫鏈描述技術(shù)描述用戶及其對(duì)系統(tǒng)的使用。

        使用SDL可結(jié)合狀態(tài)層次模型的方法進(jìn)行軟件可靠性早期估計(jì),就是用SDL的替換形式SHY-SDL(State Hierarchy with SDL)對(duì)使用的層次化描述建模形式化。

        目前已有基于使用剖面的測(cè)試用例選擇算法可以應(yīng)用于系統(tǒng)的使用模型,算法的結(jié)果產(chǎn)生測(cè)試序列,測(cè)試序列可以用SDL或其他方法描述。因此,在進(jìn)行可靠性早期估計(jì)時(shí),用SDL描述測(cè)試用例很重要,優(yōu)點(diǎn)是:(1)用SDL描述使用,就容易用SDL自動(dòng)生成測(cè)試用例。(2)用SDL描述測(cè)試用例,有可能使用SBA。

        2.2 分析和使用實(shí)例建模

        SBA應(yīng)根據(jù)對(duì)用戶及系統(tǒng)使用的描述和系統(tǒng)的原始SDL描述。使用結(jié)合SHY-SDL的SBA有三種方式:

        (1)原始SDL系統(tǒng)成為一個(gè)塊,SHY-SDL模型作為另一個(gè)塊,形成新的系統(tǒng),如圖1。這種方案不能直接實(shí)現(xiàn),因?yàn)镾BA工具將對(duì)SDL系統(tǒng)進(jìn)行充分的動(dòng)態(tài)分析,這與統(tǒng)計(jì)質(zhì)量控制過程的目標(biāo)相沖突。該方案的主要好處是檢查系統(tǒng)描述與獲得的真實(shí)環(huán)境的一致性,但一般作為其他方法的補(bǔ)充。

        圖1 SBA的一種應(yīng)用方案

        (2)修改SBA工具,使之適合于統(tǒng)計(jì)分析,可以按隨機(jī)的步驟采用第一種方案執(zhí)行,但同時(shí)通過SHY-SDL模型根據(jù)使用剖面選擇特定的執(zhí)行路徑。所以在執(zhí)行路徑的決策處理和調(diào)度兩個(gè)方面必須對(duì)SBA加以補(bǔ)充。

        (3)根據(jù) SHY-SDL模型生成分析(測(cè)試)序列,使分析實(shí)例的SDL描述成為新的SDL系統(tǒng)中的塊,這種方法意味著用SBA分析選擇的使用實(shí)例。

        2.3 根據(jù)分析進(jìn)行可靠性估計(jì)

        初步的可靠性估計(jì)可用如下兩種方式:(1)失效間隔時(shí)間和相關(guān)模型進(jìn)行比較;(2)計(jì)算成功執(zhí)行的分析實(shí)例數(shù)與總分析實(shí)例數(shù)的比。

        第一種方法意味著分析是一個(gè)序列,第二種則要求把環(huán)境行為描述分成幾個(gè)分析實(shí)例。在使用SBA分析時(shí),將報(bào)告連續(xù)兩次失效間分析的狀態(tài)數(shù),這就對(duì)第一種方法形成了簡(jiǎn)單的支持。如果失效被糾正,將看到可靠性增長,并作為測(cè)試和運(yùn)行期間的可靠性增長的估計(jì),對(duì)可靠性增長的早期估計(jì)可以更好地規(guī)劃達(dá)到質(zhì)量目標(biāo)的測(cè)試時(shí)間。如果不糾正失效,將得到實(shí)際可靠性估計(jì),這種情況只有當(dāng)分析工具的執(zhí)行是連續(xù)、不糾正失效時(shí)才有可能。

        第二種分析方法的主要問題在于SBA工具交互性很差,如果一個(gè)塊中實(shí)現(xiàn)幾個(gè)實(shí)例,很難分析其中某一個(gè),解決辦法是一次只實(shí)現(xiàn)一個(gè)分析實(shí)例,但這又使得工具用戶為每個(gè)分析實(shí)例重新生成代碼。

        結(jié)合SBA的方法可獲得第二步軟件可靠性估計(jì),采用剖面的動(dòng)態(tài)分析可以結(jié)合充分分析(SBA的完整形式)如下:

        (1)基于使用剖面進(jìn)行部分分析,獲得可靠性增長估計(jì);

        (2)進(jìn)行充分動(dòng)態(tài)分析;

        (3)將規(guī)格化的失效時(shí)間與可靠性增長估計(jì)相比較。

        必須規(guī)格化失效時(shí)間,這樣能夠比較充分分析和按使用剖面進(jìn)行部分分析的結(jié)果。通過記錄失效在使用描述中發(fā)生的位置來規(guī)格化時(shí)間,如果分析根據(jù)剖面進(jìn)行,可以計(jì)算失效發(fā)生的平均時(shí)間。這個(gè)時(shí)間被認(rèn)為是實(shí)際的失效時(shí)間。

        2.4 導(dǎo)出失效時(shí)間算法及其優(yōu)化

        通過分析可以得到動(dòng)態(tài)失效與實(shí)際操作中失效的關(guān)系。下面介紹通過分析檢測(cè)的動(dòng)態(tài)失效是否代表了運(yùn)行中的實(shí)際失效。

        首先給出以下假設(shè):

        (1)由SBA動(dòng)態(tài)分析找出的失效集是所有可能失效的子集;

        (2)動(dòng)態(tài)分析中找出的失效隨機(jī)分布于所有失效中,例如在某段時(shí)間內(nèi),隨機(jī)失效與動(dòng)態(tài)失效的比例因子用c表示;

        (3)根據(jù)使用剖面測(cè)試是操作的近似,這也是統(tǒng)計(jì)使用測(cè)試的基礎(chǔ)和大多可靠性估計(jì)模型的基礎(chǔ);

        (4)而采用SBA根據(jù)使用剖面分析是采用SBA進(jìn)行充分分析的近似,充分動(dòng)態(tài)分析遍歷所有狀態(tài),采用使用剖面進(jìn)行有選擇的動(dòng)態(tài)分析時(shí),是根據(jù)所有可能的狀態(tài)集選擇進(jìn)入的狀態(tài),選擇是根據(jù)特定的使用剖面的取樣,而不是隨機(jī)取樣。

        (5)SBA利用使用剖面進(jìn)行動(dòng)態(tài)分析與統(tǒng)計(jì)使用測(cè)試是可以比較的,從相同的使用剖面選擇用于動(dòng)態(tài)分析的實(shí)例類似于選擇統(tǒng)計(jì)使用測(cè)試實(shí)例,區(qū)別為后者是隨機(jī)的。

        要使根據(jù)動(dòng)態(tài)分析估計(jì)的可靠性增長可應(yīng)用于考慮隨機(jī)失效的可靠性增長,必須將動(dòng)態(tài)分析失效數(shù)據(jù)對(duì)應(yīng)代表所有失效。以某軟件為例,可采用以下算法[3]:

        (1)根據(jù)使用剖面進(jìn)行動(dòng)態(tài)分析。圖2中,t1、t2、t3是失效時(shí)間。失效數(shù)據(jù)可以用來估計(jì)SBA分析所得動(dòng)態(tài)失效的MTTF(平均失效時(shí)間),估計(jì)模型可以采用凈室可靠性估計(jì)模型。

        圖2 根據(jù)動(dòng)態(tài)分析導(dǎo)出隨機(jī)失效的失效數(shù)據(jù)

        (2)確定c。如:包括隨機(jī)失效在內(nèi)的實(shí)際總失效數(shù)與SBA找出的動(dòng)態(tài)失效數(shù)之比;c值主要根據(jù)早期開發(fā)的項(xiàng)目,程序特點(diǎn)不同可以采用不同的c值,而且分析不同階段c值也又可能不同。

        (3)根據(jù)第一步計(jì)算的MTTF,確定每個(gè)時(shí)間間隔發(fā)生的失效數(shù)。如果c不是整數(shù),間隔內(nèi)的失效數(shù)按trunc(c-1)和 trunc(c)之間的兩點(diǎn)分布選擇,則 c-1為平均值,如果是整數(shù),則每個(gè)間隔失效數(shù)為 c-1。

        (4)在時(shí)間間隔內(nèi)隨機(jī)選擇失效時(shí)間放入根據(jù)不同c值得到的失效,如:t1a、t2a、t2b 和 t3a。

        (5)根據(jù)分析和計(jì)算的失效數(shù)據(jù)估計(jì)MTTF,這就是對(duì)所有失效類型MTTF的估計(jì)。

        分析的實(shí)際值和可能值應(yīng)該進(jìn)一步根據(jù)理論和實(shí)踐研究,但可以肯定,初步估計(jì)考慮的是動(dòng)態(tài)分析軟件規(guī)范期間的動(dòng)態(tài)失效。

        3 算法改進(jìn)

        (1)改進(jìn)使用剖面

        通常隨機(jī)測(cè)試也是一種使用剖面,例如:系統(tǒng)所有的事件或信號(hào)是等可能出現(xiàn)的,這樣可以測(cè)試系統(tǒng)將來的可靠性??紤]軟件可靠性時(shí),有必要對(duì)關(guān)鍵部分加以特別重視,生成這樣的剖面在某類嚴(yán)重失效不常發(fā)生時(shí)是很有價(jià)值的[4]。

        另外,即使考慮了使用剖面中的重要度和使用頻繁度,仍需改變使用剖面,尤其是在動(dòng)態(tài)分析期間,很容易進(jìn)行第二次分析。改變使用剖面的目的是檢查其他使用剖面的可靠性,因?yàn)橄到y(tǒng)的使用情況不斷變化,這意味著高可靠的系統(tǒng)由于使用情況的改變有可能變得不可靠了,所以,改變使用剖面有意義。

        還有一種方法可以獲得在正常使用中較少出現(xiàn)情況的可靠性,即使用充分動(dòng)態(tài)分析考慮軟件中易產(chǎn)生故障的部分,找出這些部分可以說明軟件使用剖面的改變是可以改變了軟件可靠性的。

        (2)該方法中選擇的時(shí)間間隔是兩個(gè)失效間的間隔,但如果把時(shí)間間隔擴(kuò)大為幾個(gè)失效的間隔,則在可靠性估計(jì)時(shí)計(jì)算MTTF時(shí)更準(zhǔn)確,更接近于項(xiàng)目的真實(shí)情況。當(dāng)然,這又依賴于對(duì)c值的進(jìn)一步確定。

        (3)該方法在時(shí)間間隔中放入隨機(jī)失效時(shí)采用的是隨機(jī)放置的方法,但采用什么方式放置對(duì)于統(tǒng)計(jì)最后的MTTF是很關(guān)鍵的。從統(tǒng)計(jì)意義上來說,可以按指數(shù)分布在時(shí)間間隔內(nèi)放置隨機(jī)失效,因?yàn)榧僭O(shè)X為某系統(tǒng)發(fā)生故障的時(shí)間,它服從指數(shù)分布,則對(duì)?s,t>0,有:

        這表明,在時(shí)段(s,s+t)內(nèi)無故障的概率只與時(shí)段的長度t有關(guān),而與系統(tǒng)過去無故障的工作時(shí)間s無關(guān)。這正好滿足選擇動(dòng)態(tài)失效間隔放置隨機(jī)失效的條件。

        即使在設(shè)計(jì)中采用了形式化方法,仍然需要測(cè)試。測(cè)試可以檢查出早期檢測(cè)所遺留的或求精過程中所引起的錯(cuò)誤,如T800晶片機(jī)的浮點(diǎn)部件在測(cè)試中發(fā)現(xiàn)了一個(gè)對(duì)微代碼改變而產(chǎn)生的錯(cuò)誤,這個(gè)改變是發(fā)生在形式化開發(fā)后??梢哉f,測(cè)試永遠(yuǎn)是有用的檢查手段,因此建議:

        (1)開發(fā)軟件測(cè)試平臺(tái)

        研究、開發(fā)軟件測(cè)試平臺(tái)是很有現(xiàn)實(shí)意義,國內(nèi)外軟件測(cè)試工具很多,應(yīng)針對(duì)開發(fā)軟件所常用的語言,利用現(xiàn)有的技術(shù),開發(fā)軟件測(cè)試平臺(tái)。

        (2)建立軟件測(cè)試和評(píng)估中心

        軟件的專業(yè)性很強(qiáng),因此,軟件測(cè)試評(píng)估中心應(yīng)由計(jì)算機(jī)軟件、可靠性工程、系統(tǒng)工程等領(lǐng)域的專家組成,負(fù)責(zé)制定軟件可靠性各種標(biāo)準(zhǔn),并監(jiān)督實(shí)施,做好軟件可靠性管理工作;建立軟件測(cè)試平臺(tái),做好軟件可靠性技術(shù)保障工作;由軟件生產(chǎn)單位協(xié)助,建立可靠性測(cè)試實(shí)例庫,客觀、公正地驗(yàn)收軟件;做好可靠性數(shù)據(jù)的收集、整理、分析工作,開展軟件可靠性模型的研究,建立適用于軟件的可靠性模型,并進(jìn)行可靠性評(píng)估。

        [1]MUSA J D.Operational profiles in software-reliability engineering[J].IEEE Software, 1993,10(2):14-32.

        [2] KITCHENHAM B. Validation verification and testing.diversity rules[J].IEEE Software, 1998,15(4):46-49.

        [3]WOHLIN C,RUNESON P.A method proposal for early softwarereliabilityestimation[C].Proceedingsof3th International Symposium on Software Reliability Engineering,1992.

        [4]顏炯,艦載指控軟件操作剖面研究[D].武漢:海軍工程大學(xué),2000.

        [5]Runeson.Usage modeling:The basis for statistical quality control.Proceedings ofSRS’92, Denver, USA, June 1992,77-84.

        [6]STOCKSPA,CARRINGTOND A.A frameworkfor specification-based testing[J].IEEE SE, 1996,22(11):777-793.

        [7]RUSHBY J,PARK M.Formal methods and their role in the certification ofcriticalsystems[C].In: Safetyand Reliability of Software Based Systems,12thAnnual CSR Workshop, Springer, 1997.

        猜你喜歡
        軟件可靠性軟件測(cè)試實(shí)例
        基于OBE的軟件測(cè)試課程教學(xué)改革探索
        軟件可靠性工程綜合應(yīng)用建模技術(shù)研究
        EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
        軟件測(cè)試工程化模型及應(yīng)用研究
        數(shù)控系統(tǒng)軟件可靠性設(shè)計(jì)與故障分析技術(shù)
        完形填空Ⅱ
        完形填空Ⅰ
        簡(jiǎn)談使用BoundsChecker進(jìn)行計(jì)算機(jī)聯(lián)鎖系統(tǒng)人機(jī)界面軟件可靠性測(cè)試
        IEEE軟件可靠性系列標(biāo)準(zhǔn)分析*
        亚洲AV永久天堂在线观看| 18禁黄网站禁片免费观看女女| 国产办公室沙发系列高清| 日韩黑人欧美在线视频观看| 久久久调教亚洲| 亚洲男人的天堂av一区| 亚洲乱码中文字幕久久孕妇黑人 | 76少妇精品导航| 久久亚洲aⅴ精品网站婷婷| 少妇精品揄拍高潮少妇桃花岛| 天堂在线资源中文在线8| 丰满人妻被中出中文字幕| 久久青草亚洲AV无码麻豆| 成年人视频在线观看麻豆| 人人妻人人澡人人爽超污| 国产va免费精品观看| 亚洲国产日韩在线精品频道| 男女性行为免费视频网站| 国产精品美女久久久久av超清| 青青草国产成人99久久| 偷拍女厕尿尿在线免费看| 日韩亚洲一区二区三区四区 | 国产黄久色一区2区三区| 波多野42部无码喷潮在线| 自拍偷自拍亚洲精品播放| 男女发生关系视频网站| 亚洲天堂二区三区三州| 日本牲交大片免费观看| 国产精品福利小视频| 91国产精品自拍视频| 在线观看的网站| 国产黄a三级三级三级av在线看| 无码天堂在线视频| 日韩肥臀人妻中文字幕一区| 麻豆国产在线精品国偷产拍| 国产 中文 制服丝袜 另类 | 久久精品国产精品亚洲婷婷| 亚洲丰满熟女乱一区二区三区| 亚洲乱亚洲乱妇| 在线视频 亚洲精品| 亚洲国产精品嫩草影院久久av|