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

靜態分析技術在裝備軟件驗收中的應用

2021-11-05 08:03:24陳麗于霞余俊李曉利
電子技術與軟件工程 2021年17期
關鍵詞:程序規則分析

陳麗 于霞 余俊 李曉利

(1.電子信息系統復雜電磁環境效應國家重點實驗室 河南省洛陽市 471003)

(2.中國兵器工業導航與控制技術研究所 北京市 100000)

“軟件定義裝備”,軟件是信息化裝備的靈魂。隨著軟件密集型裝備比重日趨提高、更新換代周期不斷縮短,確保軟件質量、提升裝備戰備完好率成為當前首要任務。經過充分測試的裝備軟件能夠消除軟件潛在風險,降低裝備故障率,提升用戶使用信心。

靜態分析技術是靜態測試的一個分支,它不需要實際運行軟件程序和編寫測試用例,通過分析代碼來發現程序中潛在的錯誤。本文在分析靜態分析技術內涵及優勢的基礎上,從裝備軟件測試角度設計了靜態分析規則集,并依托測試工具LDRA Testbed,以某雷達軟件為例,闡述靜態分析技術在裝備軟件驗收中的應用。

1 靜態分析技術

靜態分析是一種對程序代碼進行機械性、程式化的特性分析方法,一般包括控制流分析、數據流分析、接口分析、表達式分析、編碼規范審核。雖然在編譯代碼時能發現一些程序錯誤,但其數量是非常有限的,不能完全替代靜態分析。因此程序編譯通過后,還應當對其進行靜態分析測試。

經過編譯和測試,每千行代碼中平均有10-20 個缺陷[1]。按經驗估算,靜態分析一般能夠發現30%~70%的邏輯設計和編碼錯誤[2]。在實際使用中,靜態分析測試比動態測試效率更高,能快速找到并定位缺陷。

1.1 控制流分析

控制流分析是使用控制流程圖系統地檢查被測程序的控制結構的工作[3]。控制流分析能夠查找程序中是否調用不存在的子程序、是否存在不可達語句、是否存在死循環、是否存在轉向并不存在的語句標號等問題。

1.2 數據流分析

數據流分析通過建立數據流程圖來對程序中的數據進行分析。數據流分析能夠查找程序中存在的異常情況,如引用了未定義的變量、使用了未初始化的變量等。這些異常情況常規的動態測試很難發現。

1.3 接口分析

接口分析是對程序的接口進行分析,發現接口設計方面錯誤的一種靜態分析技術[4]。接口分析能夠發現子程序之間、函數之間接口一致性問題,包括形式參數與實際參數的類型、數量、維數、順序、使用一致性,以及是否遵循了預先定義的規則或原則。

1.4 表達式分析

表達式分析是通過檢查程序代碼中的表達式,發現其中潛在的錯誤,如:數組引用錯誤、除數變量可能為零的情況、浮點數變量比較時產生錯誤、括號使用不正確等。

1.5 編碼規范審核

編碼規范審核是指依據相關標準對編程語言的規范性進行審核。遵循統一的編程規范,從形式上對編程進行約束,可保證不同開發人員開發的程序能較好地集成在一起,便于二次開發人員快速理解程序,也方便測試人員對程序的理解和測試。

2 裝備軟件靜態分析規則集

規則集是針對編程語言預先設計好的一組編碼規則,包括編碼規范和度量指標要求。裝備軟件作為特殊用途的軟件,除了實現必須的功能性能要求外,對安全性、可靠性和可維護性尤其關注[5]。

目前主流的測試工具都支持用戶定制靜態分析規則集,如C++Test、Klocwork和LDRA Testbed等,每種測試工具都有其強項[6]。本文以C++編程語言為例,依托LDRA Testbed 測試工具,針對裝備軟件特性要求,制定裝備軟件靜態分析規則集,如表1所示。

表1:裝備軟件靜態分析規則集

該規則集主要從提高軟件安全性、可靠性和可維護性方面考慮。在裝備軟件驗收測試時,看似功能實現都沒問題,但有些潛在風險通過短時間測試無法發現,需要利用一些規則集從源代碼層面上進行深入分析。如:程序中存在不可達語句,若該語句是某項功能的實現,則在驗收測試中能容易發現;但如果該語句只在某種特殊情況下才會執行,常規驗收測試就很難發現。此外,一些可維護性方面的要求,如注釋率、圈復雜度、表達式要求等編程風格方面的規范,在驗收測試時也很少考慮。

使用工具進行靜態分析設置的規則越多,發現的問題就越多,誤報和漏報的機率就越大,人工復核的工作量就越大。所以在實際測試中,需和被測方充分溝通,根據被測件特性確定所需規則集。

3 實例應用

以某雷達軟件為例,借助LDRA Testbed 8.5.0 對軟件進行靜態分析。

3.1 選擇分析文件

Testbed 可以進行單文件分析和多文件分析(set),為了從整體上給被測件一個質量評估,選擇set 方式。

set 屬性設置時有兩種模式:Group(default)和System。前者把set 中多個文件孤立的分析,后者把多個文件作為一個工程來分析。本文采用System 模式,能夠分析文件間的代碼關聯關系。

3.2 分析前配置

分析前配置主要包括被測件頭文件的設置和編碼規則集的設置。設置頭文件時,建議選擇“Analysis the first instance of each found include”,表示當頭文件被包含多次時,只分析第一個被包含的實例。進行編碼規則集設置時,可使用默認選項,或者用戶自定義規則,如圖1所示,在“Customer Sample”列表下選擇被測件關注的規則。

圖1:編碼規則集設置

3.3 分項選擇與分析過程

點擊菜單Analysis →Select Analysis,選擇要執行的分析項開始分析。通常選擇對話框中的前六項,可根據實際需求修改。

3.4 分析結果查看

點擊Testbed 的菜單System Results,在下拉項Text results,Graphical results 分別以文本形式和圖形化形式顯示分析結果。Testbed 生成的報告是英文版,如果要生成中文報告,需使用TBAudit2009 插件。

利用Testbed 進行靜態分析,除了給出源代碼遵守編碼規則情況外,還根據軟件度量模型對代碼質量進行評價。

3.5 人工復核

人工復核是根據測試報告指出的問題逐一進行核查。根據中文報告進行核查時,可能遇到找不到這個問題的情況,這時需參考英文報告來定位問題。當中文報告與英文報告個別問題存在出入時,以英文報告為主。

4 結束語

靜態測試理論上可在代碼編寫完成后的任意時段開展,但測試需要成本,尤其對靜態測試結果進行人工復核時所需人力較多。為了充分發揮靜態分析的作用,建議在編碼完成后,做單元測試時優先考慮開展靜態測試,這樣可以把很多問題消除在編碼階段。

對裝備軟件進行靜態分析,應根據裝備軟件特性制定合適的靜態分析規則集,使用工具能夠提高靜態測試的效率,但測試結果不能直接采納,需要人工進行復核,確保測試結果準確、可靠。在軟件驗收階段開展靜態測試使裝備軟件驗收工作更加有的放矢。

猜你喜歡
程序規則分析
撐竿跳規則的制定
數獨的規則和演變
隱蔽失效適航要求符合性驗證分析
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
TPP反腐敗規則對我國的啟示
電力系統及其自動化發展趨勢分析
主站蜘蛛池模板: 亚洲美女操| 日韩欧美国产另类| a级毛片免费看| 国产打屁股免费区网站| 99在线观看精品视频| 亚洲人成网址| 99久久精品国产精品亚洲| 国产欧美在线观看精品一区污| a在线亚洲男人的天堂试看| 青青青伊人色综合久久| 色哟哟精品无码网站在线播放视频| 伊人久久综在合线亚洲2019| 欧美综合中文字幕久久| 国产在线98福利播放视频免费| 丝袜亚洲综合| 亚洲国产亚洲综合在线尤物| www亚洲天堂| 国产91在线|日本| 99视频只有精品| 日本一本正道综合久久dvd| 3344在线观看无码| 成年免费在线观看| 色婷婷综合激情视频免费看| 制服丝袜一区| 黑人巨大精品欧美一区二区区| 91系列在线观看| 日韩欧美中文亚洲高清在线| 亚洲av中文无码乱人伦在线r| 色综合激情网| 亚洲永久视频| 免费啪啪网址| 香蕉视频在线观看www| 欧美丝袜高跟鞋一区二区| 久久免费视频6| 久久香蕉欧美精品| 狠狠干欧美| 亚洲清纯自偷自拍另类专区| 精品国产亚洲人成在线| 波多野结衣二区| 欧美一区日韩一区中文字幕页| 99久久国产综合精品女同| 老熟妇喷水一区二区三区| 国产精品丝袜在线| 久久国产成人精品国产成人亚洲| 欧美日韩国产一级| 性网站在线观看| 亚洲综合片| 伊人久久婷婷五月综合97色| 小说 亚洲 无码 精品| 久无码久无码av无码| 国产69囗曝护士吞精在线视频 | 日韩精品一区二区三区中文无码| 性色在线视频精品| 亚洲国产精品VA在线看黑人| 黄色网址免费在线| 婷婷色在线视频| A级毛片高清免费视频就| 免费A∨中文乱码专区| 91在线一9|永久视频在线| 被公侵犯人妻少妇一区二区三区| 中文无码精品A∨在线观看不卡| 波多野吉衣一区二区三区av| 99久久99这里只有免费的精品| 午夜视频在线观看区二区| 国产精品亚洲综合久久小说| 五月天综合网亚洲综合天堂网| 青青草91视频| 成人毛片免费在线观看| 成人国产精品2021| 人妻免费无码不卡视频| 中字无码精油按摩中出视频| 美女国产在线| 四虎影视库国产精品一区| yjizz视频最新网站在线| 亚洲最猛黑人xxxx黑人猛交| 亚洲精品免费网站| 欧美日韩在线国产| 污污网站在线观看| 高清不卡毛片| 久久无码免费束人妻| 亚洲天堂.com| 国产小视频网站|