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

基于靜態分析方法的軟件可靠性模型研究

2012-11-08 06:55:40緋,王
長春大學學報 2012年8期
關鍵詞:故障分析檢測

鄧 緋,王 凱

(1.四川職業技術學院,四川 遂寧 629000;2.西南大學,重慶 北碚 400715)

基于靜態分析方法的軟件可靠性模型研究

鄧 緋1,王 凱2

(1.四川職業技術學院,四川 遂寧 629000;2.西南大學,重慶 北碚 400715)

隨著網絡通訊與計算機應用的不斷發展,軟件可靠性問題日益受到關注。針對更新COTS或開源組建,提供了一種定量評估軟件可靠性的方法模型。該模型結合了靜態分析源代碼方法,對執行路徑進行有限測試,并建立貝葉斯信任網絡,構建一個綜合的軟件可靠性度量模型。最后使用STREW[1]工具對3個開源程序進行實驗驗證,得到了實驗結果,證明模型有效。

軟件可靠性;靜態分析;貝葉斯信任網絡

0 引言

隨著網絡通訊與計算機技術的不斷發展,軟件已滲透到國民經濟和國防建設的各個領域。隨著軟件系統功能的不斷增加,其規模和復雜程度也越來越大,軟件可靠性日益受到人們的關注,尤其是在航空航天、銀行等領域。如果軟件可靠性得不到保證,軟件系統存在缺陷和漏洞,就會造成許多問題和故障,必然會對國民生活帶來不利的影響,甚至造成巨大的損失。

1983年美國IEEE[2]計算機學會對“軟件可靠性”作出了定義:(1)在規定條件及時間內,軟件不引起系統失效的概率;(2)在規定的時間周期內,在所述條件下程序執行所要求的功能的能力。傳統的軟件可靠性模型需要在開發和測試期間進行數據收集,包括可靠度R(t),平均故障前時間MTTF、平均修復時間MTTR、平均故障間隔時間MTBF,失效率,失效強度,容錯性等。但錯誤數據不一定能被充分收集,因此檢測軟件可靠性有一定難度。

1 靜態分析方法

源代碼的靜態分析是復查軟件錯誤中的一種常用技術,是對代碼的機械性的、程式化的特性分析方法。靜態分析可以進行緩沖區檢查[2],發現緩沖區溢出和安全漏洞、內存泄露[3]、定時異常等等其他常見的編程錯誤。

靜態分析一般采用軟件工具進行分析,包括控制流分析、數據流分析、接口分析等。該方法常用于任務關鍵代碼的開發,如航天和交通領域。

Nagappan[1]等人指出,自動檢測的故障和實際錯誤數目有密切關系。在本文中,需要使用Java靜態分析工具估計Java程序的可靠性。有研究者使用Findbugs,JLint,PMD等等靜態分析工具來分析Java源代碼,并對源代碼的結果進行比較。本文使用9種不同的分析工具對程序進行分析,以提高評估有效性。

2 構建可靠性模型

本模型的基本前提是:軟件可靠性與源代碼中靜態檢測故障數、靜態檢測故障數的路徑以及代碼塊的覆蓋率相關。

首先將源代碼分成一系列方法(函數),將每一方法(函數)劃分為語句塊,語句塊由連續的代碼指令組成,靜態分析檢測被分配到適當的代碼塊中。一旦源代碼被分解成語句塊,靜態分析工具有效地鏈接到分解的源代碼,并輸出結果。為了預測可靠性,必須確定執行每個分支的概率。在完成該程序的靜態分析后,結合理論與實際,對程序的路徑進行跟蹤觀察,實施測試。測試包括一系列的黑盒測試和功能測試。對每個方法,每個代碼塊的可靠性是基于貝葉斯信念網絡(BBN)的靜態檢測故障與可靠性的輸出,并對程序代碼結構達到80%代碼覆蓋率的基礎上進行有限測試。

2.1 貝葉斯信念網絡

為了準確評估靜態分析檢測到得故障以及有效性,建立BBNs來評估單一的靜態檢測故障的失敗風險。如圖1所示,BBNS結合靜態檢測錯誤以及有限測試中的代碼覆蓋率,得到軟件可靠性。該BBNs結合歷史數據以及程序執行路徑,預測一個給定的靜態檢測故障,以及會導致程序出現故障的概率。這個網絡有效地分為三個主要部分,左上方用來處理靜態檢測到相關故障的風險,右上方用來評估程序執行中出現錯誤的概率,底部結合以上數據,提供總體靜態檢測故障的可靠性估計。

圖1 靜態檢測軟件可靠性模型

2.2 模塊綜合可靠性

依靠代碼塊進行單一的靜態檢測錯誤,僅僅可以確定一個代碼塊綜合可靠性。該情況下,通過BBN中“校準網可靠性”的結點輸出確定代碼塊的可靠性。但在具有多個靜態檢測錯誤存在的情況下,需要進一步處理代碼塊的可靠性。

在傳統的可靠性模型中,存在兩個故障,如果一個獨立錯誤導致整個系統失敗,那么一個系統的失敗概率可以表示為

Pf(F1)是在執行中任何可能會導致失敗的概率。Pf(F2)也一樣,在這種情況下

但是,如果各個故障并不互相獨立,那么

為了解決這個問題,必須依靠相關依賴對故障分組。因此,如果兩個靜態檢測故障的屬于同一分類,則假定它們是同一故障的不同實例;如果該故障不是同一分類,則必須估算它們的組合效應取得可靠性。在傳統的可靠性模型中,使用乘其可靠性得到。在本模型中,需要建立另一個BBNs,如圖2所示。

圖2 結合兩個靜態檢測錯誤的BBN

建立圖2以連接網絡實例,根據每一個代碼塊的可靠性,由該圖組合得到總體的可靠性。

2.3 整個系統的可靠性

為了結合每個方法得到的可靠性,從而得到整個系統的可靠性。創建BBNs用于結合每個方法的可靠性,如圖3所示。

圖3 綜合可靠性BBNs

3 實驗驗證

本文中選用3個程序進行試驗來驗證模型的可靠性,對程序進行可靠性計算,用STREW軟件測試與可靠性預警度量方法進行可靠性分析相比較,并得到實驗數據。其中STREW指標體系是一套有效使用于軟件可靠性估計度量的工具。

本文選用俄羅斯方塊游戲,五子棋程序和黑白棋程序進行實驗。首先,為了簡化可靠性模型,以上3個程序都是5千行代碼以下,并使用SoSART(Software Static Analysis Reliability Toolkit)軟件靜態分析可靠性工具包進行分析。SoSART工具包旨在幫助開發人員通過使用靜態分析評估現有的Java源代碼的可靠性。其次,需要一套JUnit測試腳本來應用STREW模型。STREW度量通過工具度量和測試度量與軟件可靠性關聯。最后,用程序文檔估計程序需求以估計軟件可靠性結果。

度量的發展指標定義組由Nagappan等人使用,該度量能夠有效地估計軟件可靠性。該估量參數包括測試用例的數量,SLOC源代碼行,TLOC測試代碼行,需求數目,源類,條件數,測試類等等,通過測試以上參數,并進行組合以估計軟件可靠性。

STREW工具通過測量組合參數來估計軟件的可靠性。而STREW度量由GERT(Graphical Evalution and Review Technique圖表評審技術)工具箱支持,GERT可以對網絡邏輯關系和歷時估算進行概率處理。PERT(Program Evaluation and Review Technique)利用網絡順序邏輯關系和加權歷時來估算項目歷時的重要技術。STREW方法在PERT的基礎上,增加決策節點,不僅將活動的各參數如時間和費用設為隨機性分布,而且其各個活動及相互之間的影響關系也具有隨機性,即活動按一定概率可能發生或不發生,相應地反映在活動開始或結束的節點或分支發生或不發生。在網絡的表現形式上,增加決策節點,并且節點之間具有回路和環存在。

3.1 軟件可靠性評估過程

對3個測試程序的軟件可信性評估主要發生在四個步驟上,即使用STREW度量評估可信性,然后使用靜態分析工具分析代碼,再對范例進行功能測試,最后使用SoSART工具對結果進行綜合評定。

為了提供軟件程序的可靠性估計邊界,首先,在Eclipse編譯環境中使用GERT分析工具。

在使用GERT工具分析進行評估后后,使用SoSART工具支持的八個獨立靜態分析工具對源代碼進行分析。通過使用ANT(Another Neat Tool)編譯工具,靜態分析工具完全自動執行,以便消除人為錯誤。總體而言,采用靜態分析工具分析三個方案,靜態檢測故障檢測到1157個故障,其中259被認為是有效的故障。

完成后靜態分析階段之后,獲得軟件模塊的執行配置文件。在源代碼內執行功能測試或驗收測試,通過運行驗收測試或功能測試獲得執行配置文件。

一旦得到執行配置文件,使用SoSART工具,并獲得適當的可靠性措施的靜態檢測到的故障和執行的文件進行了分析。對于每一個程序,首先將源代碼導入工具。隨著源代碼導入后,得到靜態分析工具的輸出,放進SoSART,得到有效性評估。在這一點上,產生了初步的可靠性報告評估的可靠性(假設每一個和每一個程序被執行的均勻分布)。產生該評估后,將獲得源代碼的執行概況可靠性報告。該過程在提供的三個方案中被重復執行。

3.2 實驗結果

表1提供這一系列的實驗結果。表的上段給出了STREW指標的選定項目的可靠性評估的結果,該表下部分提供使用模型的可靠性評估。在提供的例子中,最大的差異為0.015。

表1 實驗結果

5 結語

本文在針對更新COTS或開源組建,結合靜態分析方法、有限測試、以及構建2個貝葉斯網絡,提出了一個綜合的軟件可靠性模型。其中,靜態分析方法用來檢測在源代碼中有可能導致的執行錯誤,使用代碼覆蓋率檢測源代碼中可執行的路徑以及執行率,建立第一個BBNs用于結合各個參數并估計每種方法的可靠性,并建立第二個BBNs用來結合各個模塊可靠性并估計網絡軟件的可靠性。該模型通過3個程序測試了其有效性。但是,在貝葉斯網絡上,實驗的網絡是簡化了的,若要在實際運用中,則需要進一步探討改進其準確性和額外附加參數的給定的參數可能。

[1] Nachiappan Nagappan.A Software Testing and Reliability Early Warning(STREW)Metric Suite[M].PhD Thsis,2005.

[2] John D.Musa.韓柯譯.軟件可靠性工程[M].北京:機械工業出版社,2003.

[3] 戈戟,史洪,徐良華.Shellcode靜態檢測技術研究[J].計算機應用與軟件,2010,27(2):47-49.

[4] 李倩,潘學敏,李宣東.內存泄露檢測工具與評估方法[J].計算機科學與探索,2010(1):33-39.

Research on Software Reliability Model Based on Static Analysis

DENG Fei1,WANG Kai2

(1.Sichuan Vocational and Technological College,Suining 629000,China;2.Southwest University,Beibei 400715,China)

Along with the network communication and the continuous development of computer applications,software reliability has attracted increasing attention.This paper proposes a methodology model for quantitative evaluation of software reliability in updated COTS or open source components.Combining with the static analysis of the source code,the model tests the execution paths limitedly,as well as sets up Bayesian Belief Networks to provide a comprehensive software reliability measurement model.Finally it uses STREW[1]to give the three open source programs experimental verification and the experiment results are attained.The model is proved to be effective.

software reliability;static analysis;Bayesian Belief Networks

TN915.1

A

1009-3907(2012)08-0937-04

2012-05-20

鄧緋(1975-),女,重慶江津人,副教授,碩士,主要從事計算機應用方面的研究。

責任編輯:吳旭云

猜你喜歡
故障分析檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
隱蔽失效適航要求符合性驗證分析
故障一點通
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
奔馳R320車ABS、ESP故障燈異常點亮
小波變換在PCB缺陷檢測中的應用
故障一點通
主站蜘蛛池模板: 1024国产在线| 国产va欧美va在线观看| 国产清纯在线一区二区WWW| 亚洲成网站| 久久亚洲天堂| 亚洲天堂.com| 4虎影视国产在线观看精品| jizz在线免费播放| 久久亚洲中文字幕精品一区| 亚洲第一av网站| 国产精品制服| 国产日本一区二区三区| 欧美第一页在线| 国产jizzjizz视频| 国产极品美女在线播放| www亚洲天堂| 91久久夜色精品国产网站| 97在线观看视频免费| 国产成人AV男人的天堂| 毛片视频网址| 国产精品99r8在线观看| 国产在线观看高清不卡| 国产凹凸视频在线观看 | 亚洲AV人人澡人人双人| 成人91在线| 热九九精品| 992Tv视频国产精品| 欧美中文字幕在线播放| 久久夜色撩人精品国产| 久久亚洲欧美综合| 国产在线无码av完整版在线观看| 99视频在线观看免费| 久久婷婷综合色一区二区| 91精品啪在线观看国产91九色| 丰满少妇αⅴ无码区| 五月丁香伊人啪啪手机免费观看| 欧美亚洲综合免费精品高清在线观看 | 国产白浆在线| 特级毛片免费视频| 欧美α片免费观看| 日韩欧美一区在线观看| 999国产精品永久免费视频精品久久| 国产无码网站在线观看| 久草国产在线观看| 色婷婷丁香| 欧美日韩国产在线人成app| 伦精品一区二区三区视频| 欧美日韩国产在线人成app| 午夜啪啪福利| 91青青草视频在线观看的| 成年午夜精品久久精品| 亚洲中文无码av永久伊人| 日韩激情成人| 亚洲成人网在线观看| 国产成人你懂的在线观看| 一级毛片中文字幕| 无码专区在线观看| 青青青草国产| 91无码网站| 2021精品国产自在现线看| www.狠狠| 国产精品久久精品| 色久综合在线| 青青青视频91在线 | 亚洲系列无码专区偷窥无码| 欧美日韩国产精品综合| 99视频精品全国免费品| 亚洲一区网站| 欧美精品v欧洲精品| 久久先锋资源| 成年人视频一区二区| 国产一级α片| 在线国产三级| 情侣午夜国产在线一区无码| 亚洲大尺码专区影院| 在线观看亚洲精品福利片| 伊人天堂网| 亚洲香蕉伊综合在人在线| 麻豆精选在线| 国产欧美在线观看一区| 国产在线98福利播放视频免费| 热99精品视频|