亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2020-09-29 07:54:12朱琦林挺
        科學(xué)與信息化 2020年25期
        關(guān)鍵詞:軟件缺陷

        朱琦 林挺

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

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

        引言

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

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

        1軟件整體框架

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

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

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

        2軟件實現(xiàn)

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

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

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

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

        3缺陷檢測實驗

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

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

        4結(jié)束語

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

        參考文獻

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

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

        [3] 航天型號軟件C語言安全子集:GJB5369-2005[S].北京:中國標(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.

        猜你喜歡
        軟件缺陷
        基于測試的軟件缺陷數(shù)據(jù)分析方法
        卷宗(2020年34期)2021-01-29 05:36:24
        基于源文件可疑度的靜態(tài)軟件缺陷檢測方法研究
        淺談軟件永遠不完美的原因
        基于NPE-SVM的軟件缺陷預(yù)測模型
        軟件開發(fā)項目的質(zhì)量管理策略探討
        科學(xué)家(2017年5期)2017-06-09 17:20:33
        開源程序的軟件缺陷分布特征的量化分析研究
        液壓支架電液控制系統(tǒng)軟件缺陷管理
        基于度量元的靜態(tài)軟件缺陷預(yù)測技術(shù)*
        繼電保護裝置軟件缺陷跟蹤管理方法的研究
        軟件缺陷管理方案分析
        少妇久久高潮不断免费视频| 国产女女精品视频久热视频| 国产精品99无码一区二区| 亚洲美腿丝袜 欧美另类| 国产日韩亚洲欧洲一区二区三区| 国产精品国产三级国产一地 | 老熟女的中文字幕欲望| 亚洲av日韩av无码污污网站| 五月天婷婷综合网| 天堂av一区一区一区| av剧情演绎福利对白| 亚洲综合欧美在线一区在线播放| 99热精品国产三级在线观看| 国产成人综合久久精品推荐免费 | 男人扒开添女人下部免费视频| a级黑人大硬长爽猛出猛进| 精品国产AⅤ一区二区三区V免费| 96中文字幕一区二区| 无码爆乳护士让我爽| 综合久久给合久久狠狠狠97色| 国产精品香蕉网页在线播放| 蜜桃视频一区二区三区四| 亚洲国产精品一区二区www| 就去吻亚洲精品欧美日韩在线| 久久精品国产亚洲黑森林| 精品久久人妻一区二区| 欧美亚洲一区二区三区| 亚洲色偷拍区另类无码专区| 久久AⅤ天堂Av无码AV| 日韩高清不卡一区二区三区| 色狠狠色狠狠综合天天| 日本午夜免费福利视频| 亚洲AV无码乱码一区二区三区| av在线高清观看亚洲| 日韩av东京社区男人的天堂| 亚洲AV永久青草无码性色av| 久久精品国产亚洲av试看 | 国产女精品| 亚洲中文字幕国产剧情| 亚洲精品国产成人片| 色av综合av综合无码网站|