安全性關鍵軟件的可靠性測試與安全性分析_圖文_第1頁
安全性關鍵軟件的可靠性測試與安全性分析_圖文_第2頁
安全性關鍵軟件的可靠性測試與安全性分析_圖文_第3頁
安全性關鍵軟件的可靠性測試與安全性分析_圖文_第4頁
安全性關鍵軟件的可靠性測試與安全性分析_圖文_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、安全性關鍵軟件的可靠性測試與安全性分析繆崢紅周新蕾航天軟件評測中心北京,關麓詞計算機應用安全性關鍵軟件可靠性測試軟件安全性分析一、引言載人航天系統中大量嵌入式計算機的使用使得越來越多的軟件已成為系統中的關鍵部件軟件可靠性要求太大提高,如何進行軟件可靠性測試和安全性分析,從而正確地估計軟件產品的可靠性和安全性已成為一個迫切需要解決的問題載人運載火箭的故障檢測處理軟件屬于安全性關鍵軟件該軟件的主要任務是從待發段開始贏到上升段火箭、飛船分離結束前檢測火箭的重要參數。判斷火箭故障,出現故障時向有關系統發出逃逸指令和中止飛行指令。該軟件運行的正確與否對火箭運行安全性有著致命的影響若火箭正常飛行時軟件誤選

2、逸將導致飛行任務失敗;若故障狀態下軟件漏逃逸,導致逃逸失敗則會危及宇航員的生命安壘因此必須最大限度地保證軟件在實際工作條件下運行的正確性、可靠性與安全性作者結合載人運載火箭的故障檢測處理軟件,對軟件的可靠性測試和安全性分析技術進行了研究,完成了對回歸測試的故檢軟件進行軟件安全性分析,并根據軟件安全性分析結果,得到了軟件的可靠度和危險風險指數本文針對安全性關鍵軟件的特點提出了一種在全面測試的基礎上、基于軟件安全性分析的軟件可稚性測試與評估方法全文分三個部分。第一部分為軟件可靠性測試描述了軟件可靠性瀏試的特點和測試步驟并結合故障檢測處理軟件介紹了安全性關鍵軟件可靠性測試的特殊方法第二部分提出了一種

3、軟件安全性分析的方法,描述了安全性分析實施的技術要點和注意事項,主要從安全性分析思路、安全性分析的詳細方案以及進行安全性分析應注意的同繇幾方面論述第三部分介紹了可靠性測試和安全性分析的效果。二、軟件的可靠性測試(一)軟件可靠性測試的特點軟件可靠性測試不同于硬件可靠性測試這主要是因為二者失效的原因不同硬件失效一般是由于元器件的老化引起的因此,硬件可靠性測試強調隨機選取多個相同的產品,統計它們的正常運行時間正常運行的平均時間越長,剛硬件就魑可靠軟件失散是由設計缺陷造成的,軟件的輸入決定是否會遇到軟件內部存在的故障因此。使用同樣一組輸入反復測試軟件并記錄其失效數據是沒有意義的在軟件沒有改動的情況下。

4、這種數據只是首次記錄的不斷重復,不能用來估計軟件可靠性所以軟件可靠性測試強調按實際使用的概率分布隨機選擇輸入,并強調測試輸入的覆蓋度。軟件可靠性測試也不同于一般的軟件功能測試。主要表現在以下幾點。()軟件可靠性測試更強調測試輸人與典型使用環境輸人統計特性的一致,強訶早期對功能、輸入、數據域及其相關概率的識別這使得軟件可靠性測試實例的采樣策略與一般的功能測試不同軟件可靠性測試必須按照使用的概率分布隨機地選擇測試實例這樣才能得到比較準確的可靠性估計也有利于找出對軟件可靠性影響較大的故障()軟件可靠性測試過程中還要求比較準確地記錄軟件的運行時間,它的輸入覆盞一般也要大于普通軟件功能測試的要求軟件可靠

5、性測試的輸入覆蓋包括下述內容:重要輸入變量值的覆蓋相關輸入變量可能組合的覆蓋以確保相關輸入變最的相互影響不會導致軟件失效設計輸入空間與實際輸入空問之問區域的覆蓋即不合法輸入域的覆蓋各種使用功能的覆蓋()軟件可靠性測試對使用環境的覆蓋比一般的軟件測試要求要高,測試時必須覆蓋所有可能影響程序運行方式的物理環境對一些特殊的軟件,如容錯軟件、實時嵌入式軟件等由于在一般的使用環境下常常很難在軟件中植入錯誤以進行針對性的測試,因此可靠性鍘試時常常需要有多種測試環境()軟件可靠性測試工作應放在軟件測試階段的后期。在軟件綜合測試完成后進行。本階段工作的輸人為:軟件需求規格說明(包括軟件的運行剖面)、通過綜臺測

6、試的軟件和軟件可靠性測試估計模型本階段工作的輸出為。軟件可靠性測試計劃、可稚性測試用例、可靠性測試記錄和可靠性測試分析報告(二)軟件可靠性測試的效果軟件可靠性測試足軟件可靠性保證過程中非常關鍵的一步經過軟件可靠性測試的軟件并不能保證該軟件中殘存的錯誤數最小,但可以保證該軟件的可靠性達到較高的要求這是因為從工程的角度來看,一個軟件的可靠性高不僅意味著該軟件的失效率低,而且意味著一旦該軟件失效。由此所造成的危害也會小一個大型的工程軟件沒有錯誤是不可能的,至少理論上還不能汪明一個大型的工程軟件不出錯。因此保證軟件可靠性的關鍵不是確保軟件沒有錯誤,而是要確保軟件中沒有對可靠性影響較大的錯誤這正是軟件可

7、靠性測試的目的之一軟件可靠性測試的側薰點不同于一般的軟件功能測試,其測試實例設計的出發點是尋找對可靠性影響較大的故障這就使得要達到同樣的可靠性要求,它比一般的功能測試更有效,所花的時問也更少。(三)安全性關鍵軟件的可靠性測試與一般軟件的可靠性瀏試不同,安全性關鍵軟件的可靠性測試有其特殊性,這表現在以下幾點()許多重要的安全性關鍵功能的執行概率并不高,甚至很低。例如,載人運載火箭的故障檢測處理軟件絕大部分情況下運行于火箭正常的情況下火箭故障情況下進行進逸的功能執行概率極低如果按照軟件的運行剖面進行測試,勢必要投入大薰的時間測試火箭正常情況下軟件的執行情況這種大最的熏復測試本身就是一種浪費()由于

8、安全性美鍵軟件在的期經過了嚴格的測試和安全性分析,最后測試時常常采集不到足夠軟件的失效數據因此。無法使用基于失效數據的軟件可靠性評估模型進行軟件可靠性估計()軟件安全性分析提供了大量軟件設計的內部信息而常規的軟件可靠性估計方法并沒有使用軟件設計的內部信息因此我們對安全性關鍵軟件的可靠性測試方案進行了改進采用下述步驟對故障檢測處理軟件進行可靠性測試和估計。首先在獲得軟件的運行剖面后不按照其使用的概率分布進行測試用例設計,而是按照平均概率分布進行軟件測試設計,設計中確保對各種軟件運行模式下全部使用功能的各種輸入組合和輸入數據域的覆益(包括非法輸入域的覆盞)其次,在多種測試環境下對軟件進行全方位的測

9、試包括功能測試、性能測試,結構測試、單元測試等。測試中發現的問題全部進行了修改,修改后進行了完整的回歸測試最后,對通過回歸測試的軟件進行軟件安全性分析然后結合軟件安全性分析結果進行可靠性估計估計方法。測試時無軟件失效數據安全性分析時發現軟件在某種特殊條件下會有輕微的失效分析各種失效發生的概率,得到軟件的總失效率用減去軟件的總失效率就可以得出軟件的可靠度在下面的章節中。主要介紹我們在對載人運載火箭的故障檢測處理軟件進行安全性分析時所采用的方法和技術三、軟件的安全性分析軟件安全性分析是保證軟件質量和安全性的重要手段。安全性是指系統在規定的條件和時間內,完成規定功能的過程中不引起系統發生不可接受的風

10、險的能力我們稱可能導致不可接受的風險發生的異常條件為危險條件。保證航天員的安全是載人航天飛行成功的首要前提從設計角度看保證安全性的關鍵在于系統設計時綜合考慮全部外部因索(包括各種異常條件),合理地設計、定義和分配各子系統的功能及其相互之間的接口,使得危險條件出現時系統可以處于一種安全的狀態。并將可能的損失降低到最小由于操作人員的錯誤、硬件故障、接口問題、軟件錯誤或系統設計缺陷等很多原因都可能導致系統進入危險狀態,故系統安全性工作自頂至下涉及到系統的各個層次和各個環節而軟件是系統安全性工作中的一個舉足輕重的關鍵環節之一與硬件安全性分析不同,操作人員的錯誤、硬件故障、信號輸入時序等很多原因都可能引

11、起軟件籀出異常,從而導致系統進入危險的狀態因此軟件安全性分析不能只從軟件本身出發。必須從系統角度進行分析,考慮軟件使用過程中軟件、硬件、操作人員的相互作用,分析軟件可能的工作時序、適用條件、邏輯缺陷及其可能造成的不利影響不同類型、不同要求的軟件需要采取不同的技術手段和管理模式這是多年的經驗教訓之一國外的軟件安全性分析工作模式是按照他們的組織機構和工程管理模式確定的,并不完全適用于我們的工程實際和研制要求安全性分析尤其如此每一個軟件的功能、規模、實現邏輯、運行環境等均具有其特殊性,每一種分析技術也有其適用條件和局限性只有針對軟件的特點和設計要求,綜合考慮分析要素及工程限制,選擇有效的技術手段,翩

12、定合理的分析方案才可能獲得滿意的效果下面介紹一下軟件安全性分析的內容。(一)軟件安全性需求分析系統、分系統層次的相關分析分析對象故障判定模式,與故障檢測處理軟件相關的人員操作、系統、硬件、工作時序等。分析目的確定與軟件相關的故障模式和危險發生的概率以及輸入、輸出信號的關鍵性等級分析內容:危險分析和輸入、輸出信號的失效與影響分析分析人員;系統總體設計人員軟件需求安全性分析分析對象。軟件需求規格說明分析目的。在系統和分系統級分析的基礎上,針對與故障檢測處理軟件相關的危險和有關模式,在軟件功能層次上進行更深一步地細化分析,確定軟件的安全性需求和安全性關鍵軟件特性,標識出軟件頂層設計結構中存在的不安全

13、模式,進行危險風險評估分析內容軟件運行模式分析、軟件信息流分析軟件運行模式分析;分析軟件可能的運行模式及其發生的概率,確定與安全性相關的運行模式、控制運行模式轉換的關鍵控制信號和功能分析的重點軟件信息流分析包括軟件功能相關分析和時間相關分析兩部分內容軟件功能相關分析;通過分析各種運行狀態下軟件執行的功能、數據流和控制漉從邏輯上確定與系統安全直接相關的關鍵功能和間接相關的重要功能并針對這些功能可能的失效模式進行分析提出糾正措施或估計出發生的概率軟件時間相關性分析主要根據軟件功能的執行方式和觸發條件分析軟件功能的執行時序及可能存在的失效模式,提出糾正措施或估計出發生的概率分析人員:軟件安全性分析員

14、和系統總體設計人員軟件安全性需求軟件安全性需求應包括四部分內容。軟件危險排序、軟件安全性芙鍵功能和重要功能表、軟件設計要求、軟件驗證要求由于本安全性分析工作在軟件完成后進行,因此未給出軟件設計要求(二)軟件代碼安全性分析分析對象軟件潦代碼分析目的:在前述工作的基礎上,分析代碼設計的正確性和合理性、適用條件和可能存在的不安全模式分析內容;代碼基本分析(包括對代碼的數據、接口、邏輯和使用資源分析),運行狀態分析、臨界條件分析和測試覆蓋分析。分析人員;軟件安全性分析員代碼基本分析代碼數據分析:變量定義分析、變微初值分析、變量計散清零分析、變量限幅分析、變餐使用分析(對不同類型的變量使用正確的操作指令

15、)代碼接口分析。軟件輸入地址和判斷邏輯分析、軟件輸出地址和輸出時序分析、硬件初始化分析、中斷嵌套分析、軟件內部接口分析以及軟件堆棧操作和數據公共區使用分析使用資源分析,對軟件內存使用分配進行分析確保無資源使用沖突。代碼邏輯分析。模塊算法分析軟件功能觸發數據條件與時序分析計算累計誤差分析,浮點計算上溢、下溢可能性分析運行狀態分析運行狀態細化分析對軟件頂層的運行狀態進一步細化,繪制下層的運行狀態轉換圖,并對中間狀態的影響進行分析。狀態初值分析,針對頂層與安全性相關的軟件關鍵模式,逐個分析可能的狀態初值及其不利影響臨界條件分析缶界條件分析包括下述內容。模擬量實際故障、報警域;分析轉換誤差和轉換計算誤

16、差對輸入域的影響中斷對巡檢采樣周期的影響分析中斷嵌套對采樣周期的最大影響誤差最大堆棧深度,時鐘漂移誤差影響計算有效位數分析輸入抗干擾分析;包括模擬量輸人、開關量巡榆輸入、中斷結合巡檢輸入、中斷輸入抗干擾分析測試覆蓋分析測試覆蓋分析包括軟件功能測試覆蓋(包括輸入組合和輸人數據域覆蓋)、性能測試覆蓋和結構測試覆蓋分析(三)軟件安全性評價按照叫危險分析方法和程序和系統的可靠性要求定義軟件的危險可能性等級,并根據危險發生的概率得到軟件的危險風險指數。四、效果通過對載人運載火箭故障檢測處理軟件的安全性系統分析和軟件安全性需求分析,我們對軟件各個狀態下執行的功能、可能的失效模式及其發生概率有了較準確的估計經過對軟件全面的測試驗證,并采用軟件可靠性、安全性分析技術對軟件代碼的接口、數據、實現邏輯、運行模式、使用資源、臨界條件和測試覆蓋進行全面分析我們確認軟件實現過程中未引入新的影響系統安全性的因素軟件需求安全性分析所獲得的危陵發生概率有效在此基礎上,給出了軟件危險的風險指數和軟件的可靠度專家評審時對我們課題組的工作給予了較高的評價,認為課題組采用的軟件可靠性和蜜全性分析與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論