《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 形式化規范在軟件可靠性早期估計中的應用研究
形式化規范在軟件可靠性早期估計中的應用研究
來源:微型機與應用2011年第11期
呂閩暉1,呂敏蓉2
(1. 海軍工程大學裝備經濟研究所,湖北 武漢 430033; 2.湖南女子學院,湖南 長沙 410
摘要: 隨著軟件的廣泛應用,特別是軟件在尖端領域的應用,軟件可靠性成為一個非常重要的問題。形式化規范在軟件可靠性研究中能夠起到的作用是多方面的。本文針對非形式化統計使用測試的不足,結合已有的早期可靠性估計方法,設計了優化算法,并提出了即使在設計中采用了形式化規范仍然需要測試的結論。
Abstract:
Key words :

摘  要: 隨著軟件的廣泛應用,特別是軟件在尖端領域的應用,軟件可靠性成為一個非常重要的問題。形式化規范在軟件可靠性研究中能夠起到的作用是多方面的。本文針對非形式化統計使用測試的不足,結合已有的早期可靠性估計方法,設計了優化算法,并提出了即使在設計中采用了形式化規范仍然需要測試的結論。
關鍵詞: 形式化規范;軟件可靠性;早期估計;測試

 軟件可靠性研究的主要目的是評價和度量軟件的可靠性和預測軟件可靠性。軟件可靠性估計主要指應用數理統計分析處理系統測試和系統運行期間得到的失效數據,對軟件系統當前的可靠性進行估計。主要目的是估計當前可靠性,并確定可靠性模型水平的依據。
1 非形式化統計使用測試的不足
1.1 傳統使用剖面的不足

 軟件使用剖面[1]是關于如何使用軟件系統的一種量化描述,一個剖面就是一組操作及某個操作發生概率所組成的集合。例如:如果A在60%的時間內發生,B在40%的時間內發生,使用剖面就是A:0.6,B:0.4。
傳統理論認為,剖面是反映軟件不同的客戶、用戶、系統模式、功能和操作的發生概率的一個量化特征,其目的是為軟件測試及其他軟件開發階段進行資源分配提供相應的參考信息,決定如何在軟件測試中進行測試實例的生成,如何在測試過程中分配測試資源。
 傳統的剖面生成方法已經為統計測試提供了一個良好的基礎,然而這并不說明傳統的使用剖面的數據本身和相應的獲得方法沒有缺陷。事實上,以下問題在傳統剖面中一直沒有得到有效解決:(1)剖面獲得方法主觀性較強。(2)統計所得使用頻率并不能完全代表軟件的實際應用情況[2]。(3)影響可靠性度量[2]。
1.2 非形式化統計使用測試的不足
 軟件測試占用了軟件開發過程中大量的人力物力資源,然而軟件測試卻往往缺乏較好的理論基礎,測試數據即測試實例的選擇通常根據經驗作出,因此具有主觀性,并依賴于個人經驗。
 統計使用測試則是一種按軟件實際使用的方法來測試軟件的方法。測試實例是按照使用規范得到的,而使用規范是軟件預期使用的描述。統計測試根據用戶對軟件可靠性的期望,最大程度地利用可以支配的資源。另外,因為統計使用測試是以概率統計為基礎的,因此利用統計測試得到的數據也可以利用概率統計的方法來預測軟件可靠性,從而為可靠性度量提供數據,并可以相應進行軟件的可靠性度量,另外還可以決定軟件測試可以停止的標準。這一切都可以使得軟件可靠性處在嚴密控制之下[4,6]。
2 早期可靠性估計方法及其改進
2.1 使用SDL進行使用實例建模

 在文獻[5]中通過引入狀態層次模型,有可能減少統計使用測試中的狀態爆炸問題,該方法采用馬爾科夫鏈描述技術描述用戶及其對系統的使用。
 使用SDL可結合狀態層次模型的方法進行軟件可靠性早期估計,就是用SDL的替換形式SHY-SDL(State Hierarchy with SDL)對使用的層次化描述建模形式化。
 目前已有基于使用剖面的測試用例選擇算法可以應用于系統的使用模型,算法的結果產生測試序列,測試序列可以用SDL或其他方法描述。因此,在進行可靠性早期估計時,用SDL描述測試用例很重要,優點是:(1)用SDL描述使用,就容易用SDL自動生成測試用例。(2)用SDL描述測試用例,有可能使用SBA。
2.2 分析和使用實例建模
 SBA應根據對用戶及系統使用的描述和系統的原始SDL描述。使用結合SHY-SDL的SBA有三種方式:
 (1)原始SDL系統成為一個塊,SHY-SDL模型作為另一個塊,形成新的系統,如圖1。這種方案不能直接實現,因為SBA工具將對SDL系統進行充分的動態分析,這與統計質量控制過程的目標相沖突。該方案的主要好處是檢查系統描述與獲得的真實環境的一致性,但一般作為其他方法的補充。

 (2)修改SBA工具,使之適合于統計分析,可以按隨機的步驟采用第一種方案執行,但同時通過SHY-SDL模型根據使用剖面選擇特定的執行路徑。所以在執行路徑的決策處理和調度兩個方面必須對SBA加以補充。
 (3)根據SHY-SDL模型生成分析(測試)序列,使分析實例的SDL描述成為新的SDL系統中的塊,這種方法意味著用SBA分析選擇的使用實例。
2.3 根據分析進行可靠性估計
 初步的可靠性估計可用如下兩種方式:(1)失效間隔時間和相關模型進行比較;(2)計算成功執行的分析實例數與總分析實例數的比。
 第一種方法意味著分析是一個序列,第二種則要求把環境行為描述分成幾個分析實例。在使用SBA分析時,將報告連續兩次失效間分析的狀態數,這就對第一種方法形成了簡單的支持。如果失效被糾正,將看到可靠性增長,并作為測試和運行期間的可靠性增長的估計,對可靠性增長的早期估計可以更好地規劃達到質量目標的測試時間。如果不糾正失效,將得到實際可靠性估計,這種情況只有當分析工具的執行是連續、不糾正失效時才有可能。
 第二種分析方法的主要問題在于SBA工具交互性很差,如果一個塊中實現幾個實例,很難分析其中某一個,解決辦法是一次只實現一個分析實例,但這又使得工具用戶為每個分析實例重新生成代碼。
結合SBA的方法可獲得第二步軟件可靠性估計,采用剖面的動態分析可以結合充分分析(SBA的完整形式)如下:
 (1)基于使用剖面進行部分分析,獲得可靠性增長估計;
 (2)進行充分動態分析;
 (3)將規格化的失效時間與可靠性增長估計相比較。
 必須規格化失效時間,這樣能夠比較充分分析和按使用剖面進行部分分析的結果。通過記錄失效在使用描述中發生的位置來規格化時間,如果分析根據剖面進行,可以計算失效發生的平均時間。這個時間被認為是實際的失效時間。
2.4 導出失效時間算法及其優化

 


 通過分析可以得到動態失效與實際操作中失效的關系。下面介紹通過分析檢測的動態失效是否代表了運行中的實際失效。
 首先給出以下假設:
 (1)由SBA動態分析找出的失效集是所有可能失效的子集;
 (2)動態分析中找出的失效隨機分布于所有失效中,例如在某段時間內,隨機失效與動態失效的比例因子用c表示;
 (3)根據使用剖面測試是操作的近似,這也是統計使用測試的基礎和大多可靠性估計模型的基礎;
 (4)而采用SBA根據使用剖面分析是采用SBA進行充分分析的近似,充分動態分析遍歷所有狀態,采用使用剖面進行有選擇的動態分析時,是根據所有可能的狀態集選擇進入的狀態,選擇是根據特定的使用剖面的取樣,而不是隨機取樣。
 (5)SBA利用使用剖面進行動態分析與統計使用測試是可以比較的,從相同的使用剖面選擇用于動態分析的實例類似于選擇統計使用測試實例,區別為后者是隨機的。
 要使根據動態分析估計的可靠性增長可應用于考慮隨機失效的可靠性增長,必須將動態分析失效數據對應代表所有失效。以某軟件為例,可采用以下算法[3]:
 (1)根據使用剖面進行動態分析。圖2中,t1、t2、t3是失效時間。失效數據可以用來估計SBA分析所得動態失效的MTTF(平均失效時間),估計模型可以采用凈室可靠性估計模型。

 (2)確定c。如:包括隨機失效在內的實際總失效數與SBA找出的動態失效數之比;c值主要根據早期開發的項目,程序特點不同可以采用不同的c值,而且分析不同階段c值也又可能不同。
 (3)根據第一步計算的MTTF,確定每個時間間隔發生的失效數。如果c不是整數,間隔內的失效數按trunc(c-1)和trunc(c)之間的兩點分布選擇,則c-1為平均值,如果是整數,則每個間隔失效數為c-1。
 (4)在時間間隔內隨機選擇失效時間放入根據不同c值得到的失效,如:t1a、t2a、t2b和t3a。
 (5)根據分析和計算的失效數據估計MTTF,這就是對所有失效類型MTTF的估計。
分析的實際值和可能值應該進一步根據理論和實踐研究,但可以肯定,初步估計考慮的是動態分析軟件規范期間的動態失效。
3 算法改進
 (1)改進使用剖面
 通常隨機測試也是一種使用剖面,例如:系統所有的事件或信號是等可能出現的,這樣可以測試系統將來的可靠性。考慮軟件可靠性時,有必要對關鍵部分加以特別重視,生成這樣的剖面在某類嚴重失效不常發生時是很有價值的[4]。
 另外,即使考慮了使用剖面中的重要度和使用頻繁度,仍需改變使用剖面,尤其是在動態分析期間,很容易進行第二次分析。改變使用剖面的目的是檢查其他使用剖面的可靠性,因為系統的使用情況不斷變化,這意味著高可靠的系統由于使用情況的改變有可能變得不可靠了,所以,改變使用剖面有意義。
還有一種方法可以獲得在正常使用中較少出現情況的可靠性,即使用充分動態分析考慮軟件中易產生故障的部分,找出這些部分可以說明軟件使用剖面的改變是可以改變了軟件可靠性的。
 (2)該方法中選擇的時間間隔是兩個失效間的間隔,但如果把時間間隔擴大為幾個失效的間隔,則在可靠性估計時計算MTTF時更準確,更接近于項目的真實情況。當然,這又依賴于對c值的進一步確定。
 (3)該方法在時間間隔中放入隨機失效時采用的是隨機放置的方法,但采用什么方式放置對于統計最后的MTTF是很關鍵的。從統計意義上來說,可以按指數分布在時間間隔內放置隨機失效,因為假設X為某系統發生故障的時間,它服從指數分布,則對νs,νt>0,有:

 這表明,在時段(s,s+t)內無故障的概率只與時段的長度t有關,而與系統過去無故障的工作時間s無關。這正好滿足選擇動態失效間隔放置隨機失效的條件。
即使在設計中采用了形式化方法,仍然需要測試。測試可以檢查出早期檢測所遺留的或求精過程中所引起的錯誤,如T800晶片機的浮點部件在測試中發現了一個對微代碼改變而產生的錯誤,這個改變是發生在形式化開發后。可以說,測試永遠是有用的檢查手段,因此建議:
 (1)開發軟件測試平臺
 研究、開發軟件測試平臺是很有現實意義,國內外軟件測試工具很多,應針對開發軟件所常用的語言,利用現有的技術,開發軟件測試平臺。
 (2)建立軟件測試和評估中心
 軟件的專業性很強,因此,軟件測試評估中心應由計算機軟件、可靠性工程、系統工程等領域的專家組成,負責制定軟件可靠性各種標準,并監督實施,做好軟件可靠性管理工作;建立軟件測試平臺,做好軟件可靠性技術保障工作;由軟件生產單位協助,建立可靠性測試實例庫,客觀、公正地驗收軟件;做好可靠性數據的收集、整理、分析工作,開展軟件可靠性模型的研究,建立適用于軟件的可靠性模型,并進行可靠性評估。
參考文獻
[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 software reliability estimation [C]. Proceedings of 3th International Symposium on Software Reliability Engineering, 1992.
[4] 顏炯,艦載指控軟件操作剖面研究[D].武漢:海軍工程大學,2000.
[5] Runeson. Usage modeling: The basis for statistical quality control. Proceedings of SRS’92, Denver, USA, June 1992,77-84.
[6] STOCKS P A, CARRINGTON D A. A framework for specification-based testing [ J]. IEEE SE, 1996,22(11):777-793.
[7] RUSHBY J, PARK M. Formal methods and their role in the certification of critical systems[C]. In: Safety and Reliability of Software Based Systems, 12th Annual CSR Workshop, Springer, 1997.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品国产三级国产专播精品人 | 久久国产精品一区二区三区四区| 亚洲精品永久免费精品| 午夜在线观看欧美| 亚洲精品一二区| 亚洲国产裸拍裸体视频在线观看乱了| 国产综合视频| 国内精品久久久久久久影视蜜臀 | 亚洲男人第一网站| 亚洲一区激情| 亚洲在线免费观看| 亚洲免费婷婷| 亚洲欧美激情视频在线观看一区二区三区| 亚洲午夜羞羞片| 亚洲欧美成人网| 亚洲欧美日韩精品久久久| 亚洲伊人观看| 欧美在线网址| 亚洲黄色免费| 亚洲激情视频网站| 亚洲日本va午夜在线电影| 亚洲精品韩国| 中文在线资源观看视频网站免费不卡| 99视频超级精品| 亚洲综合色激情五月| 午夜激情久久久| 久久国产一区二区| 久久一区二区三区国产精品| 浪潮色综合久久天堂| 暖暖成人免费视频| 欧美精品在线免费| 国产精品都在这里| 国产一区日韩二区欧美三区| 伊人久久大香线| 亚洲欧洲日产国码二区| 日韩亚洲精品视频| 亚洲一区中文| 久久精品国产亚洲精品| 亚洲精品中文字| 午夜精彩视频在线观看不卡 | 亚洲色图在线视频| 午夜久久99| 久久理论片午夜琪琪电影网| 蜜臀av国产精品久久久久| 欧美日韩p片| 国产精品羞羞答答xxdd| 国一区二区在线观看| 亚洲国产视频直播| 亚洲在线1234| 亚洲国产一区视频| 亚洲一区二区三区中文字幕| 久久婷婷成人综合色| 欧美精品一卡| 国产日产欧产精品推荐色| 在线日韩视频| 亚洲视频在线观看一区| 欧美制服丝袜| 一本久久a久久精品亚洲| 午夜在线一区| 欧美va亚洲va日韩∨a综合色| 欧美日韩专区在线| 国产一区二区无遮挡| 亚洲欧洲日产国产网站| 午夜精品剧场| 一二三四社区欧美黄| 亚洲欧美视频| 欧美精品午夜| 国内精品久久久久久影视8| 99ri日韩精品视频| 亚洲成人资源网| 亚洲欧美久久久| 欧美国产亚洲精品久久久8v| 国产精品色婷婷久久58| 亚洲国产精品一区二区尤物区| 亚洲一区二区三区精品视频| 亚洲免费av观看| 久久精品网址| 国产精品大片wwwwww| 亚洲国产二区| 欧美一区二区三区视频在线 | 99视频一区二区| 久久免费少妇高潮久久精品99| 欧美日韩成人一区二区| 国产综合香蕉五月婷在线| 亚洲一区二区影院| 在线亚洲精品| 欧美激情导航| 1000部国产精品成人观看| 亚洲一区二区免费视频| 一区二区av在线| 免费成人你懂的| 国产一区二区三区在线观看精品 | 国产一级一区二区| 亚洲午夜激情在线| 一区二区高清| 欧美成人资源网| 激情久久久久久久| 午夜一级在线看亚洲| 亚洲欧美日韩在线一区| 欧美午夜免费| 日韩视频在线你懂得| 亚洲精品久久久一区二区三区| 久久人人爽人人爽爽久久| 国产欧美日韩精品一区| 在线亚洲自拍| 亚洲少妇一区| 欧美日本精品| 亚洲精品免费在线| 亚洲日本中文| 免费不卡欧美自拍视频| 韩国三级在线一区| 欧美在线三区| 久久久久九九视频| 国产一区二区av| 欧美亚洲一区三区| 久久激情五月丁香伊人| 国产精品一二一区| 亚洲一区二区三区中文字幕| 亚洲专区一区| 国产精品电影网站| 亚洲专区一二三| 久久不射网站| 国产亚洲亚洲| 亚洲成色999久久网站| 久久久国产精品亚洲一区| 国产亚洲va综合人人澡精品| 性一交一乱一区二区洋洋av| 欧美影院成年免费版| 国产人妖伪娘一区91| 欧美在线一区二区三区| 久久深夜福利免费观看| 在线播放中文一区| 亚洲麻豆一区| 欧美日韩一区二区三区免费看| 99国产成+人+综合+亚洲欧美| 亚洲一区免费网站| 国产精品一区二区三区久久久| 欧美一级黄色录像| 久热爱精品视频线路一| 亚洲国产小视频在线观看| 日韩亚洲视频在线| 欧美日韩一区自拍| 亚洲欧美在线免费观看| 久久美女性网| 亚洲精品在线免费观看视频| 一区二区电影免费在线观看| 国产精品久久久久一区二区三区共 | 亚洲视频国产视频| 亚洲欧美一区二区三区久久 | 精久久久久久| 99国产精品| 国产精品久久久| 午夜亚洲性色视频| 女主播福利一区| 99人久久精品视频最新地址| 午夜精品在线| 亚洲第一精品电影| 亚洲视频一区在线观看| 国产乱肥老妇国产一区二 | 国产精品伊人日日| 亚洲国产精品精华液网站| 欧美精品久久天天躁| 亚洲视频精品| 老司机久久99久久精品播放免费| 亚洲国内在线| 午夜精品久久久久99热蜜桃导演| 国精产品99永久一区一区| 日韩小视频在线观看专区| 国产精品综合av一区二区国产馆| 亚洲国产网站| 欧美视频中文一区二区三区在线观看 | 欧美日韩国产综合新一区| 亚洲尤物精选| 欧美高清在线视频| 亚洲专区国产精品| 欧美激情第4页| 午夜免费电影一区在线观看| 女人天堂亚洲aⅴ在线观看| 国产精品99久久久久久久久| 久久婷婷av| 亚洲一区中文字幕在线观看| 欧美大片第1页| 亚洲欧美一区二区三区在线| 欧美1区3d| 亚洲欧美成人一区二区三区| 欧美韩日一区二区三区| 午夜精品久久久久久久久| 欧美精品一区二区视频| 香蕉尹人综合在线观看| 欧美另类变人与禽xxxxx| 欧美资源在线| 欧美性一区二区| 亚洲精品视频一区二区三区| 国产婷婷色一区二区三区四区| 一本到12不卡视频在线dvd| 国产在线拍偷自揄拍精品| 亚洲你懂的在线视频| 亚洲福利视频专区| 久久久久久九九九九| 亚洲一区在线播放|