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

        ?

        基于控制流的軟件樹生成及其應(yīng)用

        2021-01-28 03:35:46何斌
        微型電腦應(yīng)用 2021年1期
        關(guān)鍵詞:控制流軟件測試煙霧

        何斌

        (91404部隊(duì), 河北 秦皇島 066000)

        0 引言

        軟件故障樹分析(Software Fault Tree Analysis,SFTA)主要用于軟件的可靠性與安全性分析,也應(yīng)用于軟件測試的測試設(shè)計(jì)。軟件故障樹分析利用原因關(guān)系查找所有軟件可能的失效點(diǎn)并畫出故障樹圖,再定性、定量、重要度分析尋找可靠性安全性的薄弱環(huán)節(jié),是指導(dǎo)設(shè)計(jì)改進(jìn)、軟件測試、裝備維護(hù)的有效方法。故障樹分析的成敗取決于故障樹圖的完整性與準(zhǔn)確性。然而在實(shí)施過程中軟件故障樹分析往往依賴于個(gè)人經(jīng)驗(yàn),沒有一種全面定量的軟件失效點(diǎn)分析方法,這導(dǎo)致了對(duì)軟件系統(tǒng)進(jìn)行分析時(shí),會(huì)有很大的工作難度與強(qiáng)度,而結(jié)果卻不近人意。當(dāng)軟件測試人員使用SFTA來進(jìn)行測試設(shè)計(jì)時(shí)這一問題更加突顯,原因是軟件測試人員很難在測試周期內(nèi)對(duì)被系統(tǒng)的失效點(diǎn)有全面的掌握。

        為解決SFTA這一問題,研究采用基于控制流分析結(jié)果的軟件故障樹自動(dòng)化分析技術(shù),實(shí)現(xiàn)SFTA基于客觀分析結(jié)果(控制流分析結(jié)果),并可達(dá)到分析過程短周期及計(jì)算機(jī)自動(dòng)化的目的。

        1 軟件故障樹分析的基本理論

        故障樹分析(FTA)是產(chǎn)品(系統(tǒng))可靠性和安全性分析的工具之一,用來尋找導(dǎo)致不希望的系統(tǒng)故障或?yàn)?zāi)難性危險(xiǎn)事件(頂事件)發(fā)生的所在原因和原因組合,在具有基礎(chǔ)數(shù)據(jù)時(shí)求出頂事件發(fā)生的概率及其他定量指標(biāo)。FTA也是分析已經(jīng)發(fā)生的事故的一種基本方法,在裝備研發(fā)、維護(hù)等領(lǐng)域有廣泛的應(yīng)用。故障樹分析也用在軟件工程稱之這軟件故障樹分析(SFTA),在偵錯(cuò)時(shí)使用,和消除錯(cuò)誤原因的技術(shù)很有關(guān)系。

        故障樹分析法是把系統(tǒng)不希望發(fā)生的故障狀態(tài)定義為“頂事件”,通過分析尋找出導(dǎo)致頂事件故障發(fā)生的所有可能的直接原因,這些原因稱之為“中間事件”。接著分析尋找一個(gè)中間事件發(fā)生的所在可能原因,經(jīng)此類推,直到追蹤到最后一級(jí)的原因事件,稱之為“底事件”。

        故障樹分析就是從具體的故障出發(fā),由上往下逐層尋找失效原因,分析結(jié)果采用圖形化形式進(jìn)行表示。故障樹圖是一種邏輯因果關(guān)系圖,構(gòu)圖的元素是事件和邏輯門。事件用來描述系統(tǒng)和元、部件故障的狀態(tài),邏輯門把事件聯(lián)系起來,表示事件之間的邏輯關(guān)系。

        故障樹圖的具體構(gòu)成,如圖1所示。

        對(duì)于一個(gè)稍微復(fù)雜的系統(tǒng),將有數(shù)量較多的底事件,這不利于對(duì)系統(tǒng)可靠性、安全性定性、定量地分析。所以在確定故障樹圖后必須尋找最小割集。割集是故障樹中一些底事件的集合,當(dāng)這些同時(shí)發(fā)生時(shí),頂事必然發(fā)生;最小割集就是若將割集中的含的底事件含意去掉一個(gè)就不再成為割集了,這樣的割集就是最小算法。

        圖1 串口通信故障樹圖

        求最小割集的方法有行列法、結(jié)構(gòu)法、布爾代數(shù)法等,其中行列法最為常用。行列法是1972年福塞爾提出的方法,所以也稱其福塞爾法。其理論依據(jù)是:“與門”使割集容量增,而不增加割集的數(shù)量;“或門”使割集的數(shù)量增,而不增加割集的容量。這種方法是從頂上事件開,用下一層事件代替上一層事件,把“與門”連接事件,按行橫向排列;把“或門”連接的事件,按縱橫向擺開。這樣,逐層向下,直至各基本事件,出若干行,最后利用布爾代數(shù)化簡。化簡結(jié)果,就出若干最小割集。

        2 基于控制流分析的軟件故障樹的實(shí)現(xiàn)原理

        2.1 軟件控制流分析

        軟件控制流分析是軟件靜態(tài)分析的主要內(nèi)容,分析結(jié)果以控制流圖表示。軟件控制流圖就是代碼邏輯的圖形化表示形式,圖形圓繪制的代碼,如圖2所示。

        圖2 圖形圓繪制的代碼

        圖形圓繪制控制流圖,如圖3所示。

        控制流圖能表示一個(gè)過程內(nèi)所有基本塊執(zhí)行的可能流向,也能反映一個(gè)過程的實(shí)時(shí)執(zhí)行過程??刂屏鞣治鲈谲浖y試中有助于測試人員尋找程序中的控制邏輯錯(cuò)誤。有控制流圖以后,可定量地獲取程序的圈復(fù)雜度,而圈復(fù)雜度做一種為程序邏輯復(fù)雜性度量可有效指導(dǎo)進(jìn)行編程質(zhì)量改進(jìn),進(jìn)而降低軟件的故障風(fēng)險(xiǎn)。在軟件測試中控制流分析一般由軟件靜態(tài)測試工具自動(dòng)完成,常用測試工具有McCabe、Klocwork、LDRA_Testbed等。由于控制流圖是由測試工具自動(dòng)化完成,所以得到的控制圖可以完整、準(zhǔn)確地反應(yīng)程序的內(nèi)部邏輯結(jié)構(gòu)。

        圖3 圖形圓繪制控制流圖

        2.2 軟件控制流到故障樹圖的實(shí)現(xiàn)原理

        軟件的故障樹分析可沿軟件控制流圖的執(zhí)行邏輯進(jìn)行分析。軟件控制流圖中的執(zhí)行單元可認(rèn)為是一個(gè)中間事件,而引起這一的執(zhí)行單元失效的所有可能就是底事件,所有底事件由“或門”連接而成。整個(gè)故障樹的邏輯依從更高一層的控制流圖邏輯結(jié)構(gòu)。

        依據(jù)控制流圖的故障樹圖對(duì)應(yīng)關(guān)系,如表1所示。

        表1 故障樹圖與軟件控制流圖主要對(duì)應(yīng)關(guān)系

        3 “X型煙霧報(bào)警系統(tǒng)”從控制流圖到故障樹的分析過程

        為進(jìn)一步詳述軟件控制流圖到故障樹的分析過程,同時(shí)也為證明這一方法的可行性,本文以“X型煙霧報(bào)警系統(tǒng)”為例演繹這一過程。

        “X型煙霧報(bào)警系統(tǒng)”主要用于封閉環(huán)境火災(zāi)的自動(dòng)報(bào)警。系統(tǒng)通過溫感與煙霧傳感器對(duì)環(huán)境的溫度和煙霧濃度進(jìn)行實(shí)時(shí)監(jiān)測,以超過設(shè)置溫度、煙霧濃度判定是否發(fā)生火災(zāi)。當(dāng)系統(tǒng)監(jiān)測到超過預(yù)設(shè)溫度、煙霧濃度時(shí)發(fā)出聲光等形式的告警。開發(fā)方給出的系統(tǒng)流程圖,如圖4所示。

        圖4 “X型煙霧報(bào)警系統(tǒng)”流程圖

        很顯然僅憑這一流程圖進(jìn)行故障分析將十分困難?;诳刂屏鞣治龅能浖收蠘浞治龇椒ㄊ紫葘?duì)系統(tǒng)源碼進(jìn)行控制流分析,得控制流圖,如圖5所示。

        圖5 “X型煙霧報(bào)警系統(tǒng)”控制流圖

        依從控制流圖執(zhí)行邏輯進(jìn)行故障樹分析,以控制流圖邏輯結(jié)構(gòu)為故障樹圖的結(jié)構(gòu),并充分考慮控制流圖邏輯外的軟件失效可能作為故障樹的主要事件,具體步驟如下。

        (1) 按流程圖的基本塊確定中間事件或底事件,同時(shí)根據(jù)軟件實(shí)際功能補(bǔ)充可能的事件;

        (2) 根據(jù)流程圖的分支邏輯確定故障圖樹的邏輯門;

        (3) 重復(fù)上述兩個(gè)步驟直到整個(gè)流程圖解讀完成。

        通過以上步驟構(gòu)建“X型煙霧報(bào)警系統(tǒng)”的故障樹圖結(jié)構(gòu),如圖6所示。

        4 總結(jié)

        通過演繹基于控制流分析的軟件故障樹分析是可行的??偨Y(jié)這一方法主要有以下幾個(gè)優(yōu)點(diǎn)。

        (1) 故障樹分析依賴于由工具軟件獲得的控制流圖,分析過程更加客觀、全面、高效。

        圖6 “X型煙霧報(bào)警系統(tǒng)”故障樹圖

        (2) 基于控制流圖的故障樹分析不完全依賴于個(gè)人經(jīng)驗(yàn),有固定規(guī)律可循,工作難度將大大降低。

        (3) 由于控制流圖由工具軟件自動(dòng)生成且到故障樹圖的轉(zhuǎn)換有模式可利于故障樹分析計(jì)算機(jī)自動(dòng)化的實(shí)現(xiàn)。

        當(dāng)然這一方法也有不足之處,如方法適合較為簡小的嵌入式軟件,不適應(yīng)控制流圖龐繁的系統(tǒng)軟件;方法依賴代碼的正確性,對(duì)設(shè)計(jì)、軟件模式等故障無法觸及。雖然這一方法有諸多局限性,但應(yīng)用于周期要求短、覆蓋率要求高的嵌入式軟件測試的用例設(shè)計(jì)有較強(qiáng)的適用性。

        猜你喜歡
        控制流軟件測試煙霧
        抵御控制流分析的Python 程序混淆算法
        薄如蟬翼輕若煙霧
        工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
        電子科技(2021年2期)2021-01-08 02:25:58
        抵御控制流分析的程序混淆算法
        基于OBE的軟件測試課程教學(xué)改革探索
        影視劇“煙霧繚繞”就該取消評(píng)優(yōu)
        EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        咸陽鎖緊煙霧與塵土
        關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        軟件測試工程化模型及應(yīng)用研究
        日本精品视频二区三区| 国产免费一区二区三区最新不卡| 日日噜噜夜夜狠狠2021| 在线视频精品少白免费观看| 国产亚洲精品美女久久久久| 国产精品爽黄69天堂a| 国产精品女视频一区二区| 国产人妖一区二区av| 一区二区三区人妻av| 精品人妻午夜一区二区三区四区| 国产成人午夜福利在线观看者| 美腿丝袜av在线播放| 天天射综合网天天插天天干| 少妇高潮惨叫久久久久久电影| 欧美日韩国产色综合一二三四| 天堂a版一区二区av| 久久精品国产亚洲av天 | 亚洲国产精品成人av在线不卡| 亚洲 卡通 欧美 制服 中文| 亚洲精品456| 精品女同av一区二区三区| 日本一二三区在线观看视频| 中文字幕久久精品一二三区| 久久久久久久妓女精品免费影院| 亚洲精品综合久久国产二区| 精品无码久久久久久久久| 欲色天天网综合久久| 久热爱精品视频在线观看久爱| 亚洲av成人永久网站一区| 无码人妻aⅴ一区二区三区| 久久夜色撩人精品国产小说| 国产精品亚洲av国产| 在线a亚洲视频播放在线播放| 国产精品无码久久久久久久久久| 巨臀中文字幕一区二区| 国产精品髙潮呻吟久久av | 国产精品网站夜色| 亚洲性感毛片在线视频| 蜜臀亚洲av无码精品国产午夜.| 久久免费看少妇高潮v片特黄 | 人妻洗澡被强公日日澡电影|