面向惡劣環(huán)境的嵌入式軟件錯(cuò)誤檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
【學(xué)位授予單位】:南京航空航天大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TP311.53
【圖文】:
0510BS QS MM圖 3.10 程序失效率制流錯(cuò)誤檢測算法的實(shí)現(xiàn)需要對程序中添加冗余代碼,由此會產(chǎn)生額外的存儲空間和能開銷增大。存儲開銷,由加入檢測算法后的程序大小與原程序大小來確定;時(shí)間開測算法后的程序?qū)嶋H運(yùn)行時(shí)間與原程序運(yùn)行時(shí)間來確定。 3.11 表示了 RSCFC,CFCSS,SCFD 三個(gè)算法的時(shí)間開銷和存儲開銷。從圖 3.11 中CFD 算法的平均時(shí)間開銷約為 48%,平均存儲開銷約為 58%,而 RSCFC 算法的平均 57%,平均存儲開銷約為 60%,CFCSS 算法的平均時(shí)間開銷約為 46%,平均存儲開RSCFC 的添加的指令運(yùn)算復(fù)雜,故性能開銷大;SCFD 的性能開銷略高于 CFCSS,低檢測延時(shí)性。由此可見,本文設(shè)計(jì)的控制流錯(cuò)誤檢測算法 SCFD 有著較高的軟錯(cuò)誤定程度上減少了性能開銷。
}if(!condition)//重復(fù)判斷條件error();}圖 4.2 Thor 檢測示例.2 數(shù)據(jù)流特征分析源代碼程序中的語句主要有兩個(gè)類型,表達(dá)式語句和控制語句。如果表達(dá)式語句出現(xiàn)了軟錯(cuò)序會發(fā)生計(jì)算錯(cuò)誤,使得應(yīng)用輸出錯(cuò)誤。當(dāng)軟錯(cuò)誤發(fā)生在控制語句時(shí),條件運(yùn)算出錯(cuò),使程序能運(yùn)行到錯(cuò)誤分支,而導(dǎo)致程序得到錯(cuò)誤的結(jié)果。為了解決這些問題,本文提出一種程序數(shù)據(jù)誤檢測方法在源代碼級對數(shù)據(jù)變量通過設(shè)置的靜態(tài)標(biāo)簽與其異或運(yùn)算引入數(shù)據(jù)差異性,將運(yùn)算作為原變量的副本備份,在代碼中使用變量之前插入檢測代碼,進(jìn)行變量的數(shù)據(jù)錯(cuò)誤檢測。根錯(cuò)誤在系統(tǒng)中出現(xiàn)的故障率[64-66],我們認(rèn)為在程序的一次運(yùn)行中,硬件系統(tǒng)僅僅發(fā)生一次軟錯(cuò)本文方法主要針對程序中的變量,需要分析變量的特征。在源碼級,數(shù)據(jù)變量的操作主要有和引用兩種形式[68]。定值是指該語句運(yùn)行后會改變變量的值,則該語句為定值操作。引用是指句運(yùn)行后會使用到變量但是不改變它的值,則該語句為引用操作。如圖 4.3 所示程序中所有的都存在一個(gè)生命周期,其中包括變量活躍區(qū)間,變量死亡區(qū)間。
面向惡劣環(huán)境的嵌入式軟件錯(cuò)誤檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。為了檢測數(shù)據(jù)錯(cuò)誤,本文方法通過添加冗余代碼實(shí)現(xiàn),由此帶來了額外的運(yùn)行時(shí)間與存儲開銷通過比對原程序文件和加入了檢測算法后的程序文件的大小來確定;性能開銷通過序統(tǒng)計(jì)運(yùn)行時(shí)間并求其平均值來確定。圖 4.10 為本文設(shè)計(jì)的數(shù)據(jù)流檢測算法 DLD 與其檢測算法的性能開銷對比,DLD 存儲開銷約為 130%,運(yùn)行時(shí)間開銷約為 95%。DLD 的于 ThoR,ThoR 的存儲開銷約為 289%,時(shí)間開銷約為 262%。ThoR 和 DLD 都是源代碼測方法,ThoR 不僅要復(fù)制變量,還要進(jìn)行冗余計(jì)算,DLD 僅考慮活躍變量。DLD 的性 EDDI,EDDI 的存儲開銷約為 120%,時(shí)間開銷約為 74%。EDDI 是指令級實(shí)現(xiàn)的檢測譯器和具體的平臺要求較高,實(shí)現(xiàn)繁瑣,而源代碼級實(shí)現(xiàn)的方法具有平臺無關(guān)性,有較性和擴(kuò)展性。由此可見本文設(shè)計(jì)的數(shù)據(jù)流檢測算法 DLD 有著較好的軟錯(cuò)誤檢測能力且降低性能開銷。
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 王建瑩,楊孝宗,徐海智;用軟件實(shí)現(xiàn)的故障注入工具評估錯(cuò)誤檢測機(jī)制[J];小型微型計(jì)算機(jī)系統(tǒng);2000年05期
2 滕艷平,雷呈東,張慶貴;FOXBASE+錯(cuò)誤檢測方法[J];統(tǒng)計(jì)與咨詢;1999年01期
3 張力立;王長林;;列車自動保護(hù)安全平臺錯(cuò)誤檢測碼及其運(yùn)算規(guī)則的研究與設(shè)計(jì)[J];城市軌道交通研究;2013年03期
4 衷璐潔;霍瑋;李龍;李豐;馮曉兵;張兆慶;;一種場景敏感的高效錯(cuò)誤檢測方法[J];軟件學(xué)報(bào);2014年03期
5 鄭麗麗,李清寶,曾光裕;MPEG-4錯(cuò)誤檢測和定位技術(shù)研究[J];計(jì)算機(jī)工程與設(shè)計(jì);2005年09期
6 劉琪;許家駒;張純偉;李春英;;自動判分與錯(cuò)誤檢測軟件的設(shè)計(jì)與實(shí)現(xiàn)[J];電腦知識與技術(shù);2017年13期
7 李飛,張志敏,王巖飛;錯(cuò)誤檢測與糾正電路的設(shè)計(jì)與實(shí)現(xiàn)[J];單片機(jī)與嵌入式系統(tǒng)應(yīng)用;2003年02期
8 馮玉琳;LBLR(k)優(yōu)化中的錯(cuò)誤檢測[J];計(jì)算機(jī)學(xué)報(bào);1980年03期
9 劉政林;胡爽;林木;龔明楊;;一種新型的MLC NAND Flash錯(cuò)誤檢測方法[J];華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版);2018年08期
10 劉小匯;伍微;歐鋼;;軟件錯(cuò)誤檢測與糾正技術(shù)可靠性研究[J];信號處理;2011年08期
相關(guān)會議論文 前3條
1 張茹;韓紀(jì)慶;;基于DTW算法的自動發(fā)音錯(cuò)誤檢測[A];第八屆全國人機(jī)語音通訊學(xué)術(shù)會議論文集[C];2005年
2 熊蔭喬;譚慶平;徐建軍;;基于軟件標(biāo)簽的軟錯(cuò)誤校驗(yàn)和恢復(fù)技術(shù)[A];中國通信學(xué)會第六屆學(xué)術(shù)年會論文集(上)[C];2009年
3 朱正平;;用TMS320C54x DSP實(shí)現(xiàn)CRC編碼[A];中國地球物理.2003——中國地球物理學(xué)會第十九屆年會論文集[C];2003年
相關(guān)重要報(bào)紙文章 前1條
1 Rober Pear 編譯 儲e
本文編號:2765175
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2765175.html