色综合亚洲精品激情狠狠,国产欧美日韩各类一区二区,亚洲国产综合久久久精品久久91,欧美成人天天综合在线

代碼檢測(cè)

在實(shí)現(xiàn)覆蓋測(cè)試的過程中,通常需要知道某些信息,例如執(zhí)行可執(zhí)行語(yǔ)句(即覆蓋)的情況,程序執(zhí)行的路徑,變量的引用和定義。

為了獲得這樣的信息,有必要跟蹤被測(cè)程序的執(zhí)行過程,或者在執(zhí)行被測(cè)程序期間由計(jì)算機(jī)自動(dòng)記錄。

前者需要人工進(jìn)行,效率低,無(wú)聊;后者需要插入代碼來(lái)完成被測(cè)程序中的相應(yīng)工作,即代碼插入技術(shù)。

今天的大多數(shù)覆蓋測(cè)試工具都使用代碼堆疊技術(shù)。

在測(cè)試常見應(yīng)用程序的軟件時(shí),由于計(jì)算機(jī)配置越來(lái)越高,計(jì)算機(jī)運(yùn)行得越來(lái)越快,代碼檢測(cè)引起的問題并不明顯或在可接受的范圍內(nèi)。

但對(duì)于嵌入式軟件來(lái)說(shuō),這是一個(gè)致命的問題。

由于嵌入式系統(tǒng)具有有限的系統(tǒng)資源(小內(nèi)存,較少的I / O通道等),過多的代碼擴(kuò)展速率將使程序無(wú)法在嵌入式系統(tǒng)中運(yùn)行;同時(shí),嵌入式軟件通常具有很強(qiáng)的實(shí)時(shí)性能。

程序的輸出僅在有限的時(shí)間內(nèi)有效,并且“正確”的輸出僅在有限的時(shí)間內(nèi)有效。

遲到的結(jié)果是無(wú)用的,甚至變得錯(cuò)誤和有害。

代碼檢測(cè)技術(shù)可能破壞程序的時(shí)間特性等,從而導(dǎo)致軟件執(zhí)行錯(cuò)誤。

因此,我們需要更高效的代碼檢測(cè)技術(shù)來(lái)完成覆蓋測(cè)試,尤其是嵌入式軟件的覆蓋測(cè)試。

由于程序檢測(cè)技術(shù)將探針插入到被測(cè)程序中,然后通過執(zhí)行探針獲得程序的控制流程和數(shù)據(jù)流信息,從而實(shí)現(xiàn)了測(cè)試的目的。

因此,根據(jù)探針插入的時(shí)間,可以分為目標(biāo)代碼檢??測(cè)和源代碼檢測(cè)。

(1)目標(biāo)代碼檢??測(cè)的前提是轉(zhuǎn)到目標(biāo)代碼:執(zhí)行必要的分析以確定檢測(cè)的位置和內(nèi)容。

由于目標(biāo)代碼的格式主要與操作系統(tǒng)有關(guān),并且與特定的編程語(yǔ)言和版本無(wú)關(guān),因此它已被廣泛使用,特別是在需要監(jiān)視存儲(chǔ)器的軟件中。

但是,由于目標(biāo)代碼中的語(yǔ)法和語(yǔ)義信息不完整,并且儀器技術(shù)需要對(duì)代碼詞法語(yǔ)法的分析有很高的要求,因此源代碼通常用于覆蓋測(cè)試工具中。

(2)源代碼檢測(cè)是基于對(duì)源文件的完整分析:詞法分析和語(yǔ)法分析,確保源文件的檢測(cè)能夠?qū)崿F(xiàn)高精度和針對(duì)性。

但是,源代碼檢測(cè)需要暴露給源代碼,這會(huì)使工作負(fù)載變大,并且需要修改,因?yàn)榫幋a語(yǔ)言和版本不同。

在下文中,我們引用了儀器的程序,它指的是源代碼檢測(cè)。

(1)儀器的位置:探頭的植入應(yīng)緊湊,精確,以確保所收集的信息全面無(wú)冗余,降低了代碼的擴(kuò)展速度。

因此,當(dāng)確定儀器的位置時(shí),程序被分割,并且基本分割方法基于“塊”。

結(jié)構(gòu)體。

根據(jù)塊結(jié)構(gòu)的劃分,在以下情況下植入探針:a。

該計(jì)劃的第一份聲明;灣分支聲明的開頭; C。

循環(huán)語(yǔ)句的開始; d。

下一個(gè)條目陳述前的陳述; e。

該計(jì)劃的最終聲明; F。

分支聲明的結(jié)尾; G。

循環(huán)語(yǔ)句的結(jié)尾;另外,根據(jù)覆蓋測(cè)試的要求,儀器的位置,除上述情況外,覆蓋測(cè)試要求的變化也有變化。

(2)儀表策略:儀表策略是解決“如何插入”的問題。

傳統(tǒng)的檢測(cè)策略是在需要檢測(cè)的所有位置插入探針,在程序操作期間收集所有可能的程序信息,并將它們寫入數(shù)據(jù)庫(kù)進(jìn)行分析和處理。

該方法將導(dǎo)致大量程序的大量工作,低效率和大的代碼擴(kuò)展速率。

每次根據(jù)不同的測(cè)試要求插入不同的探針,采用相應(yīng)的儀器策略,降低了代碼的擴(kuò)展速度,保證了程序執(zhí)行的效率。

以下是幾種探針的儀器策略的簡(jiǎn)要介紹。

語(yǔ)句覆蓋探測(cè)器(基本塊探測(cè)器):在基本塊的入口和出口處,分別植入相應(yīng)的探針以確定在執(zhí)行程序時(shí)是否覆蓋基本塊。

分支覆蓋探測(cè):在C / C ++語(yǔ)言中,分支由分支點(diǎn)確定。

對(duì)于每個(gè)分支,在開始時(shí)植入相應(yīng)的探針以確定在執(zhí)行程序時(shí)是否覆蓋分支。

條件覆蓋探測(cè):在C / C ++中,if,swich,while,do-while,對(duì)于幾個(gè)語(yǔ)法結(jié)構(gòu)支持條件決策。

探針被植入用于變量跟蹤的每個(gè)條件表達(dá)式的布爾表達(dá)式中。

取一個(gè)值來(lái)確定它的涵蓋范圍。

根據(jù)不同的測(cè)試要求,采用未使用的插入策略,每次在不同的位置植入相應(yīng)的探頭,每次僅植入有限數(shù)量的探頭,大大降低了編碼的擴(kuò)展比和速度。

插入的樁。

。

使用1000行程序作為待測(cè)程序。

使用集成儀器和我們自己開發(fā)的工具的工具用于測(cè)試結(jié)果。

結(jié)果表明,前者的時(shí)間和代碼擴(kuò)展率分別為3s和35%。

堆的平均時(shí)間和平均代碼擴(kuò)展率分別為1s和8%,儀器時(shí)間顯著提高,代碼擴(kuò)展率顯著降低。

使用上述程序插入技術(shù),除了通常的覆蓋測(cè)試策略外,我們還可以實(shí)現(xiàn)MC / DC和LCSAJ測(cè)試。

欧美日韩专区一区二区| 久久久久久国产综合精品| 精品国产免费一区二区久久| 99久久免费精品国产免费高清| 人人公开免费看操视频| 亚洲国产精品久久久久网站| 黑人操亚洲女一级黄色片| 亚洲欧美国产中文字幕91在线| 日本一区二区三区综合| 亚洲精品国产精品系列| 好看的福利电影在线| 欧美精品精品一区二区三区| 国产亚洲综合欧美一区| 人人爽人人爽人人妻av| 那个网站可以看理论片| 国产亚洲一区二区三区午夜| 国产精品久久久久九九九九不卡| 少妇人妻偷人精品无码视频| 91国产在线观看视频| 国产精品日本欧美一区二区三区| 九九免费观看精品视频| 四虎国产精品成人免费久久| 国产精品毛片大码女人| 久久久久无码精品国产app| 亚洲精品国自产在线| 中文字幕日韩欧美推理片免费观看| 日韩精品欧美亚洲国产最大| 久久久久久久久久福利高潮| 亚洲AV永久无码精品加勒比| 亚洲中文字幕av一区| 国产精品偷窥熟女精品视频| 国产av一区二区三区久久久久| 日日摸夜夜摸狠狠摸婷婷| 中文字幕无码aⅴ免费不卡| 亚洲成人蜜桃动漫一区| 欧美丰满大爆乳波霸奶水多| 人妻互换免费中文字幕| 苍井空一区二区三区在线观看| 国产99青草视频在线播放视| 国产精品23一区二区| 日本成人免费一区二区三区|