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

基于PYTHON實(shí)現(xiàn)的軟件缺陷檢測(cè)程序研究

2020-09-29 07:54:12朱琦林挺
科學(xué)與信息化 2020年25期

朱琦 林挺

摘 要 針對(duì)宇航飛行軟件對(duì)于軟件可靠性、安全性設(shè)計(jì)的要求,本文提出一種基于PYTHON語(yǔ)言實(shí)現(xiàn)的宇航飛行軟件缺陷檢測(cè)程序,通過(guò)對(duì)源代碼進(jìn)行預(yù)處理和篩選,生成測(cè)試驅(qū)動(dòng)文件,再對(duì)測(cè)試驅(qū)動(dòng)文件傳輸?shù)教摂M機(jī)系統(tǒng),依托開(kāi)源的KLEE生成并運(yùn)行測(cè)試用例,將測(cè)試用例運(yùn)行結(jié)果匯總到前端顯示,從而實(shí)現(xiàn)并驗(yàn)證缺陷檢測(cè)程序。

關(guān)鍵詞 軟件缺陷;字典結(jié)構(gòu);求解器

引言

宇航飛行軟件運(yùn)行環(huán)境相對(duì)于地面環(huán)境存在單粒子效應(yīng)、高低溫、原子氧、空間碎片和電磁輻射等特殊情況[1],同時(shí)由于宇航飛行軟件的功能日趨復(fù)雜,可能存在不易檢測(cè)的固有設(shè)計(jì)缺陷,這些缺陷往往會(huì)在后期的系統(tǒng)聯(lián)試中才暴露,甚至在軌長(zhǎng)期潛伏,由此帶來(lái)的損失很大,這要求對(duì)軟件設(shè)計(jì)缺陷提前發(fā)現(xiàn)和規(guī)避,依靠傳統(tǒng)測(cè)試方法發(fā)現(xiàn)顯然是比較困難的,而且時(shí)間成本較大,國(guó)外產(chǎn)品如LDRA Testbed,但是軟件版權(quán)在國(guó)外,源碼安全性不可控,因此,研究一套旨在提前發(fā)現(xiàn)并糾正缺陷的國(guó)產(chǎn)軟件缺陷檢測(cè)程序便提上了議事日程。

PYTHON是一種解釋型的腳本語(yǔ)言,具有格式嚴(yán)謹(jǐn)、語(yǔ)法簡(jiǎn)練以及豐富的數(shù)值計(jì)算資源,適合開(kāi)發(fā)針對(duì)大數(shù)據(jù)的數(shù)據(jù)分析和挖掘方面的智能化軟件,因此,這里選擇基于PYTHON語(yǔ)言實(shí)現(xiàn)缺陷檢測(cè)程序。

1軟件整體框架

PYTHON語(yǔ)言在數(shù)據(jù)提取中可以建立“{關(guān)鍵字:數(shù)值}”形式的字典結(jié)構(gòu),在存儲(chǔ)和處理數(shù)據(jù)中可以通過(guò)關(guān)鍵字快速查詢到關(guān)鍵字對(duì)應(yīng)的數(shù)值,并支持字典嵌套的樹(shù)形結(jié)構(gòu),利用這個(gè)PYTHON特有的數(shù)據(jù)結(jié)構(gòu)處理和存儲(chǔ)軟件代碼信息,對(duì)源程序工程進(jìn)行文件遍歷,將函數(shù)及其所調(diào)用到的函數(shù)涉及的代碼段匯總寫(xiě)入指定名稱的C文件中,生成測(cè)試該函數(shù)的驅(qū)動(dòng)程序[2]。缺陷檢測(cè)程序的整體結(jié)構(gòu)和框架如下:

圖1 宇航飛行軟件系統(tǒng)缺陷檢測(cè)程序的整體框架示意圖

如上圖所示,缺陷檢測(cè)程序首先對(duì)源程序工程進(jìn)行文件遍歷,抽取出信息字典,匹配需要測(cè)試的函數(shù),將函數(shù)及其所調(diào)用到的函數(shù)涉及的代碼段匯總寫(xiě)入指定名稱的C文件中,生成測(cè)試該函數(shù)的測(cè)試驅(qū)動(dòng)程序[3]。

2軟件實(shí)現(xiàn)

首先接收和解析用戶命令行傳入的參數(shù),使用os庫(kù)的walk函數(shù)對(duì)參數(shù)SRC所指定的目錄下的文件進(jìn)行兩次遍歷,第一次篩選所有的類型和宏定義,第二次分析函數(shù)和變量。

測(cè)試驅(qū)動(dòng)文件生成后,將測(cè)試驅(qū)動(dòng)文件按TCP協(xié)議打包,按順序發(fā)送給服務(wù)端程序,這里使用了PYTHON的socket包來(lái)實(shí)現(xiàn)文件傳輸,服務(wù)端按客戶端報(bào)文中指定要求,順序重組文件數(shù)據(jù),生成與主機(jī)相同的測(cè)試驅(qū)動(dòng)文件。

KLEE是一個(gè)運(yùn)行在 Linux 操作系統(tǒng)上的開(kāi)源動(dòng)態(tài)符號(hào)執(zhí)行工具,生成的測(cè)試用例達(dá)到很高的代碼覆蓋率,這里使用KLEE的STP求解器自動(dòng)實(shí)現(xiàn)測(cè)試用例的生成[4]。經(jīng)過(guò)KLEE求解,計(jì)算出合適的用例去覆蓋源程序的語(yǔ)句、分支和條件組合,生成測(cè)試用例,并模擬運(yùn)行,輸出運(yùn)行結(jié)果。

在代碼分析過(guò)程中,數(shù)據(jù)流分析、控制流分析、缺陷特征識(shí)別是關(guān)鍵步驟,特別是過(guò)程間的數(shù)據(jù)流和控制流分析的完備程度決定了編碼缺陷數(shù)據(jù)的分析能力。

3缺陷檢測(cè)實(shí)驗(yàn)

缺陷檢測(cè)實(shí)驗(yàn)選用的宿主機(jī)使用64位Windows10 系統(tǒng),并安裝了與此系統(tǒng)兼容的PYTHON3.5版本,VMWARE9.0下安裝了Ubuntu14.04桌面版,分別在宿主機(jī)和部署宇航飛行軟件系統(tǒng)缺陷檢測(cè)程序的客戶端和服務(wù)端程序,檢測(cè)一段預(yù)先編制會(huì)導(dǎo)致堆棧溢出的程序。

軟件在子程序sc_cast所調(diào)用的子程序gioGetBit中發(fā)現(xiàn)了可能存在堆棧溢出的問(wèn)題,并打印出相關(guān)位置信息。

4結(jié)束語(yǔ)

基于PYTHON的宇航飛行軟件系統(tǒng)缺陷檢測(cè)程序可用于在軟件原型開(kāi)發(fā)前期,不具備實(shí)際計(jì)算機(jī)及外圍設(shè)備支持的情況下,依靠軟件靜態(tài)分析及自動(dòng)化生成并運(yùn)行動(dòng)態(tài)測(cè)試用例,快速發(fā)現(xiàn)和定位宇航飛行軟件存在的設(shè)計(jì)和編碼缺陷,從而提升軟件可靠性和安全性。

參考文獻(xiàn)

[1] 佚名.中國(guó)在軌衛(wèi)星故障實(shí)現(xiàn)自動(dòng)檢測(cè)[ED/OL].http://tech.sina.com.cn/d/2005-09-08/1355715184.shtml,2005-9-8.

[2] 航天軟件產(chǎn)品ADA語(yǔ)言編碼規(guī)范:Q/RJ 633-2019[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2019.

[3] 航天型號(hào)軟件C語(yǔ)言安全子集:GJB5369-2005[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2019.

[4] Martins R,Manquinho V,Inês Lynce. An overview of parallel SAT solving[J]. Constraints,2012,17(3):304-347.

主站蜘蛛池模板: 麻豆a级片| 免费激情网站| 国产中文一区二区苍井空| 一级香蕉视频在线观看| 亚洲欧美色中文字幕| 亚洲免费毛片| WWW丫丫国产成人精品| 国产精品毛片一区视频播| 日韩中文欧美| 韩国v欧美v亚洲v日本v| 伊人丁香五月天久久综合 | 最新国产成人剧情在线播放| 欧美日韩亚洲国产| 国产在线观看精品| 久久不卡精品| 欧美中日韩在线| 日韩福利视频导航| 亚洲香蕉久久| 波多野结衣一区二区三区88| 少妇露出福利视频| 久久精品人人做人人爽电影蜜月 | 免费a级毛片18以上观看精品| 中文字幕在线欧美| 国产美女精品在线| 四虎国产永久在线观看| 欧美性猛交xxxx乱大交极品| 久久国产黑丝袜视频| vvvv98国产成人综合青青| 91精品国产自产在线老师啪l| 久久99蜜桃精品久久久久小说| 欧美成人手机在线观看网址| 亚洲欧美国产高清va在线播放| 欧洲av毛片| 亚洲成人动漫在线观看 | 新SSS无码手机在线观看| 欧美怡红院视频一区二区三区| 草逼视频国产| 日本国产精品一区久久久| 免费在线视频a| 欧美日韩国产成人高清视频| 狼友av永久网站免费观看| 91久久精品国产| 欧美成人免费午夜全| 婷婷综合色| 成人午夜视频免费看欧美| 午夜视频在线观看免费网站 | 日韩高清成人| 国产情侣一区二区三区| 亚洲人成高清| 亚洲精品无码专区在线观看| 欧美黄网站免费观看| 国产无码精品在线播放 | 在线免费观看a视频| 亚洲国产午夜精华无码福利| 青草娱乐极品免费视频| 一区二区三区高清视频国产女人| 亚洲国产在一区二区三区| 国产成人乱码一区二区三区在线| 亚洲精品黄| 亚洲女同欧美在线| 91精品小视频| 亚洲天堂成人在线观看| 精品无码专区亚洲| 伊人久久精品无码麻豆精品| 国产欧美日韩精品第二区| 亚洲精品无码久久毛片波多野吉| 香蕉久久永久视频| 视频二区中文无码| 日韩国产欧美精品在线| www亚洲天堂| 免费无码AV片在线观看中文| 久久国产精品77777| 一本色道久久88综合日韩精品| 777午夜精品电影免费看| 无码免费的亚洲视频| 久久精品丝袜| 一级全黄毛片| 人人妻人人澡人人爽欧美一区| 成年人福利视频| 中文字幕亚洲综久久2021| 久草网视频在线| 国产玖玖视频|