電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>Linux內(nèi)核函數(shù)的魯棒性關(guān)聯(lián)

Linux內(nèi)核函數(shù)的魯棒性關(guān)聯(lián)

2017-10-31 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

軟件(或軟件構(gòu)件)魯棒性是衡量軟件在異常輸入和應(yīng)力環(huán)境條件下保持正常工作能力的一種度量。魯棒性測試主要用于測試操作系統(tǒng)、應(yīng)用程序、COTS軟件、構(gòu)件及服務(wù)協(xié)議等軟件和協(xié)議的可靠性及健壯性。在操作系統(tǒng)和安全關(guān)鍵軟件等一些重要軟件的測試上尤為重要。對于系統(tǒng)魯棒性的評價一般有基于測量的方法和基于故障注入的方法,近年來提出了魯棒性基準(zhǔn)程序方法(Robustness Benchmarking)[1]。魯棒性基準(zhǔn)程序(Robustness Benchmark)由一組健壯性測試用例組成。
  實施軟件魯棒性測試的目的是發(fā)現(xiàn)所測代碼的健壯性薄弱環(huán)節(jié),并予以消除或增強抵抗異常情況的能力。增強代碼健壯性的過程包括:(1)確定軟件的激發(fā)健壯性失效的異常值參數(shù),并進行測試;(2)分析測試結(jié)果,找出失效原因;(3)寫保護代碼屏蔽導(dǎo)致失效的異常值;(4)把保護代碼與軟件模塊相連接[3]。
  1 Linux內(nèi)核函數(shù)測試
  Linux操作系統(tǒng)體系結(jié)構(gòu)從底層到頂部的順序依次是:內(nèi)核(包含內(nèi)核函數(shù))、系統(tǒng)調(diào)用、內(nèi)建程序(操作系統(tǒng)的命令)。內(nèi)核函數(shù)是內(nèi)核代碼的組成部分,其調(diào)用程序直接運行在內(nèi)核空間。內(nèi)核函數(shù)一旦出現(xiàn)異常,將立刻對整個操作系統(tǒng)產(chǎn)生影響。系統(tǒng)調(diào)用一般對內(nèi)核函數(shù)進行封裝,以此作為內(nèi)核與用戶空間的接口。當(dāng)用戶程序使用系統(tǒng)調(diào)用時會轉(zhuǎn)到內(nèi)核空間,調(diào)用結(jié)束后又會返回用戶空間。內(nèi)核函數(shù)的測試結(jié)果一般分類為:函數(shù)錯誤碼返回、異常、內(nèi)核掛起、工作負載夭折、工作負載結(jié)果不正確、工作負載完成[1]。
  Linux內(nèi)核函數(shù)魯棒性測試的最終目的是要提高系統(tǒng)的健壯性,需要根據(jù)測試結(jié)果生成相應(yīng)的保護代碼。這方面的研究目前處于初期階段。
  2 魯棒性維度分析
  典型的魯棒性測試包括模塊化基準(zhǔn)測試和層次化測試兩種主要方法。模塊化基準(zhǔn)測試是對一個系統(tǒng)進行分離測試。它把一個獨立的系統(tǒng)看作是一系列組件的集合,如文件系統(tǒng)、內(nèi)存系統(tǒng)、外部交互系統(tǒng)、鎖機制和多道程序運作等,另外還通過一個監(jiān)視器程序來監(jiān)視和收集測試的結(jié)果。而層次化測試是通過定義一個清晰的交互層,使測試和對各種模塊進行測試的執(zhí)行細節(jié)相分離。一些測試可以適用于所有模塊,而另一些可能只適合一個模塊子集。使用層次性結(jié)構(gòu)是分解系統(tǒng)的好方法。通過層次化來對操作系統(tǒng)進行測試可以收到較好的效果[2]。
  無論采用模塊化基準(zhǔn)測試還是層次化方法,最終都是對操作系統(tǒng)接口函數(shù)采用參數(shù)的組合測試。對魯棒性測試結(jié)果進行分析的一種方法是使用維度(Dimensionality)模型。維度有兩種定義:(1)參數(shù)維度,它指的是模塊中參數(shù)的個數(shù),對于一個軟件模塊而言,參數(shù)維度被定義為其變量的個數(shù);(2)魯棒性失效維度,對于引起魯棒性失效的一組特殊參數(shù),那些確實引起失效的參數(shù)的個數(shù)被定義為魯棒性失效維數(shù)。
  2.1 維度失效
  維度失效分一維失效和多維失效。多維失效的參數(shù)一定都是符合條件的系統(tǒng)能夠識別的值。一維失效和多維失效所引發(fā)的原因不同,一維失效是參數(shù)非法,多維失效是參數(shù)組合非法(每個參數(shù)都是合法的)。當(dāng)一維失效用例被保護和屏蔽后,會不會跳轉(zhuǎn)為多維失效,關(guān)鍵是看其參數(shù)是否構(gòu)成組合關(guān)系。從對其參數(shù)的組合關(guān)系的判定上,可以判斷該失效用例是真維失效用例還是變維失效用例[3]。
  基于低維度優(yōu)先的維度模型中失效維度不可能超過參數(shù)維度。可能屬于一維失效的某個失效,同時也可能屬于高維失效。對于這種情況,一般把這個失效作為低維失效來對待。同時激發(fā)軟件魯棒性失效所需考慮的最少因素取決于魯棒性失效維數(shù),當(dāng)參數(shù)維度為失效維度時,測試結(jié)果的觀察最為直觀;當(dāng)參數(shù)維度大于失效維度,測試結(jié)果的觀察就不太直觀了。失效維度也可以通過觀察魯棒性測試的響應(yīng)模式得到。
  2.2 失效狀態(tài)分析
  維度失效狀態(tài)分為三類。(1)真維失效指狀態(tài)失效條件被屏蔽后,測試用例跳轉(zhuǎn)到正常狀態(tài);(2)同維失效指狀態(tài)失效條件被屏蔽后,失效維度保持不變;(3)變維失效指相同條件下產(chǎn)生失效維度升高。由于基于低維度優(yōu)先原則,所以由高維度向低維度的失效躍遷跳變不可能發(fā)生[3]。魯棒性測試用例的失效維度狀態(tài)轉(zhuǎn)變?nèi)鐖D1所示。
  Linux內(nèi)核函數(shù)的魯棒性關(guān)聯(lián)
  現(xiàn)以Linux系統(tǒng)函數(shù)read(fd, buf,count)為實例進行分析,說明上述不同失效維度之間的轉(zhuǎn)變問題。函數(shù)的三個參數(shù)取值如表1所示。
  Linux內(nèi)核函數(shù)的魯棒性關(guān)聯(lián)
  假設(shè)當(dāng)參數(shù)fd取值errno file,buf取值 Null時,均會產(chǎn)生一維失效。當(dāng)fd取合法的值,并且buf分配空間小于count時產(chǎn)生一個二維失效。此時,對參數(shù)fd取值empty file進行保護屏蔽,則一些測試用例將會通過測試,如read(empty file,8,1);而另一些用例則維持一維失效不變,如read(empty file,Null,1024);還有一些用例將轉(zhuǎn)化為多維(維度≥2)失效,如read(empty file,1,8)。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費