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

基于VTest的星載嵌入式軟件目標(biāo)碼覆蓋測試

2018-02-14 12:49:08左蕓張楊

左蕓 張楊

摘要:目標(biāo)碼覆蓋測試是星載嵌入式軟件測試過程的關(guān)鍵步驟,能夠進(jìn)一步保證軟件測試的完整性和充分性。VTest測試工具模擬嵌入式虛擬測試平臺,導(dǎo)入被測源代碼,VTest自動分析源代碼的函數(shù)信息,對程序目標(biāo)碼進(jìn)行插樁,執(zhí)行目標(biāo)碼程序,統(tǒng)計(jì)目標(biāo)碼程序語句和分支覆蓋信息,分析目標(biāo)碼的執(zhí)行情況,進(jìn)一步提升星載嵌入式軟件質(zhì)量。

關(guān)鍵詞:VTest;目標(biāo)碼;覆蓋率;嵌入式軟件

中圖分類號:TP311? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1007-9416(2018)10-0000-00

1引言

近年來我國衛(wèi)星技術(shù)發(fā)展迅速,為人類帶來了巨大的社會和經(jīng)濟(jì)效益。目前使用的導(dǎo)航衛(wèi)星使用壽命都在十年以上,要求星載軟件在太空正常運(yùn)行時間長,這樣對于星載嵌入式軟件的可靠性和安全性有著極高的要求,促使航天星載軟件在各個開發(fā)階段都需要經(jīng)過完整嚴(yán)格的測試。軟件覆蓋測試是驗(yàn)證軟件功能、處理流程正確性的一種重要的方法和手段。傳統(tǒng)的覆蓋率測試是源代碼級別的測試執(zhí)行和覆蓋信息統(tǒng)計(jì),但是隨著航天技術(shù)的發(fā)展,航天產(chǎn)品功能越來越強(qiáng)大,航天軟件設(shè)計(jì)也越來越復(fù)雜,越來越多的軟件采用C語言或高級語言編制,高級語言需要轉(zhuǎn)換成目標(biāo)碼在才能在處理機(jī)上運(yùn)行。隨著C語言和其他高級語言編制的軟件越來越多,源代碼和目標(biāo)碼差異產(chǎn)生的問題的幾率也就越來越大。編譯器不同、編譯選項(xiàng)的不同都會產(chǎn)生不同的目標(biāo)碼程序,因此對高安全等級的星載嵌入式軟件進(jìn)行目標(biāo)碼語句和分支覆蓋測試,才能滿足完全高安全等級軟件測試覆蓋的要求。

2虛擬平臺構(gòu)建

嵌入式軟件編譯器的編譯過程和優(yōu)化技術(shù)會導(dǎo)致產(chǎn)生的目標(biāo)碼與源代碼之間非100%對應(yīng),因此需要借助測試工具插樁和統(tǒng)計(jì)。VTest測試工具可以進(jìn)行目標(biāo)碼覆蓋率測試。VTest平臺中的各種仿真模型都可以封裝成獨(dú)立的Windows動態(tài)鏈接庫,以便于通過“搭建”的方式快速構(gòu)建虛擬目標(biāo)系統(tǒng)。VTest中已建立了常用的嵌入式處理器,如80x86、TSC695、TI C3X、ADSP21020/60、8031/32、AT697的CPU模擬器模型庫、以及常用的芯片仿真模型庫,如8252、CAN總線、1553芯片等。在構(gòu)建虛擬目標(biāo)系統(tǒng)時,從已有的仿真模型庫中選取所需的模型庫,并進(jìn)行必要的配置連接即可,避免了重復(fù)開發(fā)工作。

在進(jìn)行目標(biāo)碼測試之前,需要事先知悉被測的軟件的運(yùn)行芯片、外部接口類型、開始運(yùn)行地址、主頻、內(nèi)存使用范圍等信息。VTest為用戶提供圖形化方式構(gòu)建虛擬系統(tǒng),本次例舉的軟件為AT697F芯片上運(yùn)行軟件,開發(fā)環(huán)境為Eclipse,編程語言為C語言。在VTest中新建項(xiàng)目,選擇芯片型號“AT697F”,在芯片屬性設(shè)置中設(shè)置主頻,項(xiàng)目名,項(xiàng)目版本,檢查文件日期,設(shè)置目標(biāo)文件為被測軟件的elf,選擇解析庫,選擇全部的源文件路徑,保存設(shè)置的項(xiàng)目信息。

項(xiàng)目信息設(shè)置完成后選擇菜單“調(diào)試->開始調(diào)試/結(jié)束調(diào)試”進(jìn)入調(diào)試狀態(tài),如果前期設(shè)置步驟均正確,則可在調(diào)試框中查看到“創(chuàng)建虛擬機(jī)成功”的提示。如果創(chuàng)建不成功,則提示相應(yīng)的錯誤原因。如圖1所示。

3目標(biāo)碼覆蓋測試過程

在VTest中成功建立AT697F虛擬測試平臺后即可開展下一步測試工作。VTest主界面是標(biāo)準(zhǔn)的windows多窗口樣式,主界面頂部包含菜單欄、工具欄,界面中間部分是源代碼編輯/顯示窗口,其它還包括工作區(qū)、寄存器、函數(shù)調(diào)用棧、函數(shù)統(tǒng)計(jì)、代碼追蹤、變量顯示、信息輸出等調(diào)試輔助窗口。這些窗口可以根據(jù)個人需要打開和關(guān)閉,可以自行拖放并調(diào)整其顯示位置和大小。根據(jù)源代碼文件路徑導(dǎo)入的源程序,VTest自動分析C語言源程序所有的函數(shù)信息,并在對應(yīng)源文件下展現(xiàn)其列表。用戶雙擊函數(shù)名稱時,工具自動打開源代碼文件窗口并將光標(biāo)定位至相應(yīng)函數(shù)開始的位置。在VTest的項(xiàng)目信息上查看工程的源代碼文件,選擇被測函數(shù),以Frame_ACK函數(shù)為例,右鍵選擇“匯合匯編模式”可以查看目標(biāo)碼,VTest顯示窗口以列表形式顯示目標(biāo)軟件的反匯編代碼,所有目標(biāo)代碼根據(jù)地址自小至大進(jìn)行排列,依次顯示目標(biāo)碼地址、目標(biāo)碼數(shù)據(jù)值以及反匯編字符串。如圖2所示。

CPU模擬器處于停止?fàn)顟B(tài)時,可對寄存器值進(jìn)行修改,直接點(diǎn)擊需修改的寄存器值,進(jìn)入文本編輯模式后輸入數(shù)值并按回車即可。寄存器數(shù)值本次執(zhí)行改變時,窗口中寄存器數(shù)值采用紅色文本高亮顯示。在寄存器中選擇NPC,寫入下一次需要運(yùn)行到的地址,這樣程序可以快速運(yùn)行至設(shè)置的地址,工具也提供單步運(yùn)行的方式運(yùn)行目標(biāo)碼程序。

VTest判斷當(dāng)前正在執(zhí)行的函數(shù),自動添加函數(shù)中的全部局部變量以及函數(shù)參數(shù),變量監(jiān)視窗口中,運(yùn)行過程中不可刪除和添加變量,也不可更改變量值信息,只能顯示局部變量信息。運(yùn)行函數(shù)前,根據(jù)實(shí)際情況分別設(shè)置參數(shù)值分別運(yùn)行TRUE分支和FLASE分支,運(yùn)行完相應(yīng)分支后,將覆蓋信息輸出保存為后綴名為.cox的覆蓋文件。多次執(zhí)行可以保存多個覆蓋信息文件。如圖3所示。

4目標(biāo)碼覆蓋率信息查看

使用覆蓋統(tǒng)計(jì)工具UCA.exe查看覆蓋信息文件和覆蓋統(tǒng)計(jì)報告,查看目標(biāo)碼覆蓋信息需要被測軟件信息、處理器信息、目標(biāo)碼信息。在UCA工具中打開VTest工程,添加源程序文件,設(shè)置主頻,添加擴(kuò)展名為.cox的覆蓋文件,統(tǒng)計(jì)并輸出報告。覆蓋率報告生成后,UCA自動打開目標(biāo)文件覆蓋率統(tǒng)計(jì)報告。覆蓋率報告分4部分組成,第一部分是項(xiàng)目的基本信息,包括項(xiàng)目名稱、版本、覆蓋率統(tǒng)計(jì)時間、所統(tǒng)計(jì)的覆蓋率文件列表等;第二部分是覆蓋率總體情況概述,包括項(xiàng)目總語句分支數(shù)及覆蓋率表格;第三部分是函數(shù)覆蓋率統(tǒng)計(jì),使用柱狀圖顯示每個函數(shù)的語句分支覆蓋率;第四部分是目標(biāo)碼反匯編覆蓋率詳情。覆蓋統(tǒng)計(jì)報告顯示所有函數(shù)的目標(biāo)碼語句和分支的目標(biāo)碼覆蓋信息,選擇單個函數(shù)可以查看單個函數(shù)的具體覆蓋信息。

已經(jīng)執(zhí)行過的目標(biāo)碼語句句首以“EXECUTED”顯示,未執(zhí)行語句句首以紅色“NOTEXECU”進(jìn)行區(qū)分,方便用戶定位特定目標(biāo)碼地址覆蓋率的覆蓋原因,以便于用戶分析用例的執(zhí)行情況。進(jìn)行目標(biāo)碼覆蓋率統(tǒng)計(jì)時可添加多個后綴名為.cox的覆蓋文件,測試工具將統(tǒng)計(jì)各個覆蓋文件的覆蓋信息,并顯示最終的目標(biāo)碼覆蓋情況。如圖4所示。

5 結(jié)語

對于星載嵌入式軟件要求越來越嚴(yán)格的形勢下,對星載嵌入式軟件進(jìn)行目標(biāo)碼覆蓋測試是十分必要的。本文描述了VTest測試工具對星載嵌入式軟件目標(biāo)碼覆蓋測試的過程和方法,采用測試工具虛擬目標(biāo)平臺,加載被測星載嵌入式軟件,采用插樁的方法記錄程序語句和分支的執(zhí)行,使用統(tǒng)計(jì)工具查看目標(biāo)碼的覆蓋信息,查看程序目標(biāo)碼語句和分支的執(zhí)行情況,對已執(zhí)行和未執(zhí)行的目標(biāo)碼進(jìn)行分析和研究,完成對星載嵌入式軟件的目標(biāo)碼覆蓋測試。

參考文獻(xiàn)

[1]楊芳,賀紅衛(wèi),謝鵬,饒京宏.嵌入式軟件目標(biāo)碼仿真測試平臺的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(19):4364-4367.

[2]黃晨,董燕,于倩,虞礪琨.基于目標(biāo)碼的測試覆蓋不可達(dá)分析方法[J].測控技術(shù),2017,(36):100-103+107.

[3]王永孟,馬利東.嵌入式軟件目標(biāo)碼測試分析[J].科技經(jīng)濟(jì)市場,2009,(4):12+11.

[4]喬文軍.嵌入式軟件測試平臺的研究與實(shí)現(xiàn)[D].南京航空航天大學(xué),2007.

[5]劉穎,王英,劉漫丹.嵌入式軟件測測試覆蓋[J].自動化儀表,2012,33(6):63-66

[6]孫隴平.嵌入式軟件覆蓋率測試的研究與應(yīng)用[J].現(xiàn)代電子技術(shù),2014,37(18):67-69.

The Spaceborne Embedded Software Object Code Coverage Testing based on VTest

ZUO Yun, ZHANG Yang

(China Electronics Technology Group Corporation Thirty-two Institute, Shanghai 201808)

Abstract: Test coverage based on object code is a key step of spaceborne embedded software testing process, it can ensure the integrity and adequacy of the test. Test tool of VTest can simulate the embedded virtual test platform, it can import the source code, it can automatically analyze the function information of source code, the pile foundation is inserted into object code, execute object code, count the statement and branch coverage based on object code, analysis of object code execution, it can help to further improve the spaceborne embedded software quality.

Key words: VTest; object code; coverage; embedded software

主站蜘蛛池模板: 国内熟女少妇一线天| 欧美日韩国产系列在线观看| 欧美在线中文字幕| 亚洲高清中文字幕| 国产一区三区二区中文在线| 国产第二十一页| 亚洲精品视频网| 久久黄色小视频| 国产高清在线丝袜精品一区| 亚洲熟女偷拍| 欧美一级视频免费| 亚洲高清在线天堂精品| 亚洲欧美日本国产综合在线| 久久99国产视频| 国产又粗又猛又爽| 免费毛片在线| 欧美、日韩、国产综合一区| 青青草国产在线视频| 国产精品成人一区二区不卡| 伊人精品成人久久综合| 一级爆乳无码av| 99久久精品免费观看国产| 欧洲欧美人成免费全部视频| 欧美狠狠干| 亚洲二区视频| 热这里只有精品国产热门精品| a亚洲视频| 亚洲精品动漫| 91香蕉视频下载网站| 另类欧美日韩| 亚洲国语自产一区第二页| 男人的天堂久久精品激情| 欧美精品亚洲二区| 99久久亚洲综合精品TS| 国产欧美视频综合二区 | 97se综合| a级毛片免费播放| 亚洲成人一区在线| 国产成人资源| 亚洲天堂日韩在线| 亚洲福利网址| 91精品国产综合久久香蕉922| 国产区免费| 国产精品页| 久久性视频| 久草热视频在线| 日韩欧美91| 日韩国产无码一区| 欧美另类一区| 老司机久久精品视频| 日本一区中文字幕最新在线| 91黄视频在线观看| 99久久性生片| 欧美精品1区| 91蜜芽尤物福利在线观看| 久久永久视频| 国产97色在线| 99视频在线看| 亚洲精品波多野结衣| 亚洲午夜天堂| 9久久伊人精品综合| 男人的天堂久久精品激情| 国产精品视频白浆免费视频| 精品一区二区无码av| 欧美亚洲综合免费精品高清在线观看| 亚洲视频一区| 夜夜操天天摸| 国产精品无码AⅤ在线观看播放| 欧美激情综合一区二区| 在线观看网站国产| 青青操视频在线| 久久窝窝国产精品午夜看片| 伊人成人在线| 国产香蕉国产精品偷在线观看| 中文字幕乱妇无码AV在线| 91丝袜在线观看| 91蝌蚪视频在线观看| 国产视频大全| 99热这里只有精品免费| 国产精品尹人在线观看| 人妻一区二区三区无码精品一区| 中文字幕一区二区人妻电影|