面向適航驗(yàn)證的并行程序調(diào)試技術(shù)研究
發(fā)布時(shí)間:2021-10-08 18:25
航空產(chǎn)業(yè)和計(jì)算機(jī)技術(shù)的持續(xù)發(fā)展使得機(jī)載軟件多樣化和復(fù)雜化,軟件規(guī)模逐漸增大并且向并行化方向發(fā)展。機(jī)載并行程序的設(shè)計(jì)在提高軟件效率的同時(shí)由于自身調(diào)度的不確定性,給程序帶來(lái)了一些不易檢測(cè)調(diào)試的潛在異常,潛在的異常很難通過(guò)當(dāng)前的調(diào)試方式得到驗(yàn)證和修復(fù),導(dǎo)致軟件調(diào)試問題日益突出,這給軟件質(zhì)量的保證帶來(lái)了極大的挑戰(zhàn),難以滿足軟件適航的安全性和可靠性要求。本文在研究分析國(guó)內(nèi)外關(guān)于并行程序調(diào)試和異常檢測(cè)的基礎(chǔ)上,面向并行的C語(yǔ)言程序展開研究,以實(shí)現(xiàn)并行程序的過(guò)程重現(xiàn)、變量動(dòng)態(tài)跟蹤定位和異常檢測(cè)定位為目的。首先,基于源代碼插樁技術(shù)研究設(shè)計(jì)插樁信息模板庫(kù),用于獲取程序運(yùn)行時(shí)的實(shí)時(shí)執(zhí)行信息以及進(jìn)行異常的檢測(cè)判斷;接下來(lái),以并行程序中的變量為研究對(duì)象,結(jié)合變量依賴關(guān)系和變量插樁模板提出了一種輕量級(jí)插樁的變量動(dòng)態(tài)跟蹤定位技術(shù),實(shí)現(xiàn)變量的動(dòng)態(tài)跟蹤,與此同時(shí)研究了與變量相關(guān)的常規(guī)異常的運(yùn)行時(shí)實(shí)時(shí)檢測(cè)技術(shù);其次,為了實(shí)現(xiàn)并行程序的可重現(xiàn)調(diào)試,提出了一種基于運(yùn)行時(shí)輕量化混合監(jiān)控的并行程序確定性重現(xiàn)技術(shù),同時(shí)提出并行異常的檢測(cè)方法;最后,基于Eclipse插件開發(fā)機(jī)制設(shè)計(jì)實(shí)現(xiàn)了可視化的機(jī)載并行程序適航驗(yàn)證工具,經(jīng)實(shí)例驗(yàn)...
【文章來(lái)源】:南京航空航天大學(xué)江蘇省 211工程院校
【文章頁(yè)數(shù)】:67 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
變量模板
圖 2. 1 變量模板 圖 2. 2 獲取變量信息實(shí)例.2 函數(shù)插樁模板設(shè)計(jì)并行設(shè)計(jì)提高了程序的性能,但并行執(zhí)行的線程之間廣泛存在著競(jìng)爭(zhēng)、同步等因素的影響往往導(dǎo)致整個(gè)程序的執(zhí)行結(jié)果是不確定的(如多次執(zhí)行出現(xiàn)不同的輸出),換言之線程執(zhí)行確定是引發(fā)并行程序執(zhí)行不確定的根源。本文在實(shí)現(xiàn)并行程序的可重現(xiàn)調(diào)試,需要對(duì)線程度信息進(jìn)行記錄,在分析并行程序中存在的異常時(shí)也需要獲取記錄程序的線程,涉及內(nèi)容第四章詳細(xì)介紹。研究分析并行程序中的線程對(duì)實(shí)現(xiàn)過(guò)程重現(xiàn)、異常檢測(cè)具有重要意義,源程序中線程是以函數(shù)的形式存在的,在運(yùn)行時(shí)若某一個(gè)函數(shù)以線程形式開啟則此函數(shù)即個(gè)線程,所以從這個(gè)角度來(lái)看研究函數(shù)即研究線程。為了獲取運(yùn)行時(shí)函數(shù)的執(zhí)行信息需要在插樁時(shí)對(duì)函數(shù)進(jìn)行插樁,需要重點(diǎn)監(jiān)控的是以線式開啟的函數(shù),為此本文設(shè)計(jì)了函數(shù)插樁模板用于獲取函數(shù)的執(zhí)行信息。函數(shù)模板(Function Template)用于記錄要插樁的函數(shù),函數(shù)模板 T_Function 為一個(gè) 10,其定義如下:
南京航空航天大學(xué)碩士學(xué)位論文前的值即可;函數(shù)的訪問日期、所在文件、還是行號(hào)可以分別通過(guò)預(yù)定義宏“__DATE__”“__FILE”、“__LINE__”獲得;參數(shù)類型可以在插樁時(shí)通過(guò)詞法語(yǔ)法分析獲得,然后以參數(shù)的形式傳遞;參數(shù)值可以在插樁時(shí)通過(guò)詞法語(yǔ)法分析獲得參數(shù)名稱,然后插樁時(shí)把參數(shù)名稱賦給f _paravalue ;線程 ID 可以通過(guò)“winsock.h”下的“GetCurrentThreadId”函數(shù)獲得;函數(shù)以線程形式開啟則 f _ flag =1,否則 f _ flag =0。如下圖 2.3 所示是函數(shù)模板的設(shè)計(jì),圖 2.4 是通過(guò)插樁對(duì)程序中函數(shù)Myadd 的基本信息獲取,其中 global _timer 是計(jì)時(shí)器獲得的當(dāng)前時(shí)刻的時(shí)序。
【參考文獻(xiàn)】:
期刊論文
[1]C程序分析工具中程序切片的設(shè)計(jì)與實(shí)現(xiàn)[J]. 蔣剛,李兆鵬. 小型微型計(jì)算機(jī)系統(tǒng). 2018(03)
[2]一種基于硬件的快速確定性重放方法[J]. 章隆兵,李磊,肖俊華,賀曉,王劍. 高技術(shù)通訊. 2017(06)
[3]服務(wù)組合安全隱私信息流靜態(tài)分析方法[J]. 彭煥峰,黃志球,劉林源,李勇,柯昌博. 軟件學(xué)報(bào). 2018(06)
[4]基于未來(lái)鎖集的死鎖規(guī)避[J]. 禹振,蘇小紅,齊鵬,馬培軍. 計(jì)算機(jī)研究與發(fā)展. 2017(02)
[5]基于GCC關(guān)鍵變量數(shù)據(jù)流分析算法的程序切片技術(shù)[J]. 楊小川,姜軍,馬曉東,漆鋒濱. 計(jì)算機(jī)工程與應(yīng)用. 2017(24)
[6]基于變量訪問序模式的中斷數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方法[J]. 陳睿,楊孟飛,郭向英. 軟件學(xué)報(bào). 2016(03)
[7]C程序數(shù)組越界的運(yùn)行時(shí)驗(yàn)證技術(shù)研究與實(shí)現(xiàn)[J]. 李文明,陳哲,李緒蓉,黃志球. 計(jì)算機(jī)工程與應(yīng)用. 2015(11)
[8]基于鎖信息的多線程軟件原子性錯(cuò)誤檢測(cè)方法[J]. 王云飛,劉劍,馬越. 計(jì)算機(jī)應(yīng)用與軟件. 2014(06)
[9]基于變量跟蹤的運(yùn)行時(shí)錯(cuò)誤現(xiàn)場(chǎng)分析工具[J]. 張?zhí)炀?王錚. 計(jì)算機(jī)應(yīng)用. 2014(03)
[10]面向適航認(rèn)證的模型驅(qū)動(dòng)機(jī)載軟件構(gòu)件的安全性驗(yàn)證[J]. 徐丙鳳,黃志球,胡軍,于笑豐. 航空學(xué)報(bào). 2012(05)
博士論文
[1]并行程序中bug檢測(cè)技術(shù)研究[D]. 吳振東.國(guó)防科學(xué)技術(shù)大學(xué) 2015
[2]構(gòu)件化嵌入式軟件安全性分析方法研究[D]. 徐丙鳳.南京航空航天大學(xué) 2014
[3]高精度可靠浮點(diǎn)計(jì)算及舍入誤差分析研究[D]. 姜浩.國(guó)防科學(xué)技術(shù)大學(xué) 2013
碩士論文
[1]機(jī)載軟件安全性形式化驗(yàn)證方法研究[D]. 顧揚(yáng).南京航空航天大學(xué) 2017
[2]基于符號(hào)執(zhí)行與區(qū)間運(yùn)算的浮點(diǎn)異常檢測(cè)[D]. 袁浩.華東師范大學(xué) 2016
[3]面向多線程程序的確定性重演研究[D]. 王昭淼.大連理工大學(xué) 2016
[4]基于未來(lái)鎖集的死鎖規(guī)避技術(shù)研究[D]. 齊鵬.哈爾濱工業(yè)大學(xué) 2015
[5]一種基于混合式監(jiān)控機(jī)制的優(yōu)化監(jiān)控開銷方法[D]. 徐勝.華中師范大學(xué) 2015
[6]基于區(qū)間分析的浮點(diǎn)計(jì)算誤差估計(jì)與異常檢測(cè)[D]. 劉劍.華東師范大學(xué) 2015
[7]基于事件的并行程序性能可視化系統(tǒng)研究與實(shí)現(xiàn)[D]. 衛(wèi)興武.合肥工業(yè)大學(xué) 2008
本文編號(hào):3424714
【文章來(lái)源】:南京航空航天大學(xué)江蘇省 211工程院校
【文章頁(yè)數(shù)】:67 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
變量模板
圖 2. 1 變量模板 圖 2. 2 獲取變量信息實(shí)例.2 函數(shù)插樁模板設(shè)計(jì)并行設(shè)計(jì)提高了程序的性能,但并行執(zhí)行的線程之間廣泛存在著競(jìng)爭(zhēng)、同步等因素的影響往往導(dǎo)致整個(gè)程序的執(zhí)行結(jié)果是不確定的(如多次執(zhí)行出現(xiàn)不同的輸出),換言之線程執(zhí)行確定是引發(fā)并行程序執(zhí)行不確定的根源。本文在實(shí)現(xiàn)并行程序的可重現(xiàn)調(diào)試,需要對(duì)線程度信息進(jìn)行記錄,在分析并行程序中存在的異常時(shí)也需要獲取記錄程序的線程,涉及內(nèi)容第四章詳細(xì)介紹。研究分析并行程序中的線程對(duì)實(shí)現(xiàn)過(guò)程重現(xiàn)、異常檢測(cè)具有重要意義,源程序中線程是以函數(shù)的形式存在的,在運(yùn)行時(shí)若某一個(gè)函數(shù)以線程形式開啟則此函數(shù)即個(gè)線程,所以從這個(gè)角度來(lái)看研究函數(shù)即研究線程。為了獲取運(yùn)行時(shí)函數(shù)的執(zhí)行信息需要在插樁時(shí)對(duì)函數(shù)進(jìn)行插樁,需要重點(diǎn)監(jiān)控的是以線式開啟的函數(shù),為此本文設(shè)計(jì)了函數(shù)插樁模板用于獲取函數(shù)的執(zhí)行信息。函數(shù)模板(Function Template)用于記錄要插樁的函數(shù),函數(shù)模板 T_Function 為一個(gè) 10,其定義如下:
南京航空航天大學(xué)碩士學(xué)位論文前的值即可;函數(shù)的訪問日期、所在文件、還是行號(hào)可以分別通過(guò)預(yù)定義宏“__DATE__”“__FILE”、“__LINE__”獲得;參數(shù)類型可以在插樁時(shí)通過(guò)詞法語(yǔ)法分析獲得,然后以參數(shù)的形式傳遞;參數(shù)值可以在插樁時(shí)通過(guò)詞法語(yǔ)法分析獲得參數(shù)名稱,然后插樁時(shí)把參數(shù)名稱賦給f _paravalue ;線程 ID 可以通過(guò)“winsock.h”下的“GetCurrentThreadId”函數(shù)獲得;函數(shù)以線程形式開啟則 f _ flag =1,否則 f _ flag =0。如下圖 2.3 所示是函數(shù)模板的設(shè)計(jì),圖 2.4 是通過(guò)插樁對(duì)程序中函數(shù)Myadd 的基本信息獲取,其中 global _timer 是計(jì)時(shí)器獲得的當(dāng)前時(shí)刻的時(shí)序。
【參考文獻(xiàn)】:
期刊論文
[1]C程序分析工具中程序切片的設(shè)計(jì)與實(shí)現(xiàn)[J]. 蔣剛,李兆鵬. 小型微型計(jì)算機(jī)系統(tǒng). 2018(03)
[2]一種基于硬件的快速確定性重放方法[J]. 章隆兵,李磊,肖俊華,賀曉,王劍. 高技術(shù)通訊. 2017(06)
[3]服務(wù)組合安全隱私信息流靜態(tài)分析方法[J]. 彭煥峰,黃志球,劉林源,李勇,柯昌博. 軟件學(xué)報(bào). 2018(06)
[4]基于未來(lái)鎖集的死鎖規(guī)避[J]. 禹振,蘇小紅,齊鵬,馬培軍. 計(jì)算機(jī)研究與發(fā)展. 2017(02)
[5]基于GCC關(guān)鍵變量數(shù)據(jù)流分析算法的程序切片技術(shù)[J]. 楊小川,姜軍,馬曉東,漆鋒濱. 計(jì)算機(jī)工程與應(yīng)用. 2017(24)
[6]基于變量訪問序模式的中斷數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方法[J]. 陳睿,楊孟飛,郭向英. 軟件學(xué)報(bào). 2016(03)
[7]C程序數(shù)組越界的運(yùn)行時(shí)驗(yàn)證技術(shù)研究與實(shí)現(xiàn)[J]. 李文明,陳哲,李緒蓉,黃志球. 計(jì)算機(jī)工程與應(yīng)用. 2015(11)
[8]基于鎖信息的多線程軟件原子性錯(cuò)誤檢測(cè)方法[J]. 王云飛,劉劍,馬越. 計(jì)算機(jī)應(yīng)用與軟件. 2014(06)
[9]基于變量跟蹤的運(yùn)行時(shí)錯(cuò)誤現(xiàn)場(chǎng)分析工具[J]. 張?zhí)炀?王錚. 計(jì)算機(jī)應(yīng)用. 2014(03)
[10]面向適航認(rèn)證的模型驅(qū)動(dòng)機(jī)載軟件構(gòu)件的安全性驗(yàn)證[J]. 徐丙鳳,黃志球,胡軍,于笑豐. 航空學(xué)報(bào). 2012(05)
博士論文
[1]并行程序中bug檢測(cè)技術(shù)研究[D]. 吳振東.國(guó)防科學(xué)技術(shù)大學(xué) 2015
[2]構(gòu)件化嵌入式軟件安全性分析方法研究[D]. 徐丙鳳.南京航空航天大學(xué) 2014
[3]高精度可靠浮點(diǎn)計(jì)算及舍入誤差分析研究[D]. 姜浩.國(guó)防科學(xué)技術(shù)大學(xué) 2013
碩士論文
[1]機(jī)載軟件安全性形式化驗(yàn)證方法研究[D]. 顧揚(yáng).南京航空航天大學(xué) 2017
[2]基于符號(hào)執(zhí)行與區(qū)間運(yùn)算的浮點(diǎn)異常檢測(cè)[D]. 袁浩.華東師范大學(xué) 2016
[3]面向多線程程序的確定性重演研究[D]. 王昭淼.大連理工大學(xué) 2016
[4]基于未來(lái)鎖集的死鎖規(guī)避技術(shù)研究[D]. 齊鵬.哈爾濱工業(yè)大學(xué) 2015
[5]一種基于混合式監(jiān)控機(jī)制的優(yōu)化監(jiān)控開銷方法[D]. 徐勝.華中師范大學(xué) 2015
[6]基于區(qū)間分析的浮點(diǎn)計(jì)算誤差估計(jì)與異常檢測(cè)[D]. 劉劍.華東師范大學(xué) 2015
[7]基于事件的并行程序性能可視化系統(tǒng)研究與實(shí)現(xiàn)[D]. 衛(wèi)興武.合肥工業(yè)大學(xué) 2008
本文編號(hào):3424714
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3424714.html
最近更新
教材專著