如何使用ThreadingTest提高軟件安全性檢測(cè)效率(下)

如何使用ThreadingTest提高軟件安全性檢測(cè)效率(下)

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)余江,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

方法三:可視化代碼結(jié)構(gòu)分析

函數(shù)調(diào)用圖:

可以給用戶展示一系列關(guān)于軟件系統(tǒng)的整體信息。如:類或者函數(shù)以及類的成員函數(shù)的總數(shù)目,調(diào)用關(guān)系或者類的繼承關(guān)系的深度、層次結(jié)構(gòu)、語(yǔ)句總行數(shù)和總體復(fù)雜度,整體的測(cè)試覆蓋率(分累積的結(jié)果和最后一次運(yùn)行的結(jié)果,可選擇語(yǔ)句、分支和MC/DC測(cè)試覆蓋率標(biāo)準(zhǔn))、整體的性能分析結(jié)果以及各模塊所占的用時(shí)比例、以及全局變量和靜態(tài)變量的分析結(jié)果等;同時(shí),又給出了各個(gè)模塊具體的信息,包括:各模塊的源碼行數(shù)和復(fù)雜度、測(cè)試覆蓋率分析結(jié)果、扇入扇出信息,高亮顯示一個(gè)模塊及其所有相關(guān)的模塊,或者以任何一個(gè)模塊為根生成局部子樹(shù)等。

函數(shù)調(diào)用圖的特性:

1.    支持百萬(wàn)圖元級(jí)別的超高速圖形繪制技術(shù)。

2.    支持全屏以及超平滑的放大與縮小技術(shù)、平滑的移動(dòng)技術(shù)。

3.    支持按照類分組聚集布圖以及按照函數(shù)調(diào)用關(guān)系布圖,層次數(shù)量可自由定義。

4.    支持逐級(jí)的子樹(shù)展開(kāi)和下鉆功能。

5.    支持在函數(shù)圖元上覆蓋率顯示,以及覆蓋率與函數(shù)相關(guān)信息的顯示。

6.    可追溯:函數(shù)調(diào)用圖是“活”的,不是靜止不動(dòng)的,可以選擇圖中任何一個(gè)模塊而追溯所有調(diào)用它的路徑和相關(guān)模塊以及被他調(diào)用的模塊,用于修改模塊不一致性缺陷的預(yù)防等。

7.    可交互操作,例如高亮顯示一個(gè)模塊及其相關(guān)模塊,或者單獨(dú)繪制一個(gè)模塊的調(diào)用關(guān)系。

8.    可選取函數(shù)調(diào)用圖中任何一個(gè)模塊為根生成局部子圖,并且生成子圖的相關(guān)信息,使得團(tuán)隊(duì)的各個(gè)組群或者個(gè)人可以方便的得到相關(guān)的局部信息。

9.    實(shí)現(xiàn)各模塊與邏輯框圖的鏈接:完成宏觀(函數(shù)調(diào)用圖)與微觀視圖(控制流程圖)的結(jié)合,發(fā)揮更好的可視化效果

 

函數(shù)調(diào)用聚集圖:

以類對(duì)函數(shù)進(jìn)行分組,通過(guò)圖表把同一類的函數(shù)聚集在一起進(jìn)行展示。

類繼承圖:

顯示的是當(dāng)前項(xiàng)目所有類的集成和派生關(guān)系。

控制流程圖

通過(guò)函數(shù)的if-else,while,for,do-while,switch-case等控制語(yǔ)句結(jié)構(gòu)繪制組成的流程關(guān)系的展示圖;配合下方的源代碼展示界面,顯示能清晰查看函數(shù)內(nèi)部運(yùn)行邏輯和結(jié)構(gòu)、條件的真假運(yùn)行狀況、MC/DC的滿足率等。

特性:

1.    可視化的控制流程圖,對(duì)主要的控制邏輯語(yǔ)句對(duì)應(yīng)有清晰的圖元顯示,支持嵌套顯示以及串聯(lián)顯示。

2.    點(diǎn)擊控制流圖的每個(gè)圖元可以看到對(duì)應(yīng)的代碼段以及代碼段的執(zhí)行次數(shù)、覆蓋率情況。

3.    在控制流圖的代碼段,當(dāng)條件語(yǔ)句成為選中熱點(diǎn)后,可以看到條件語(yǔ)句的各個(gè)子條件的各種組合執(zhí)行的真假情況。

4.    支持縮略圖的顯示,可平滑的進(jìn)行縮放以及全屏顯示。

5.    可以與函數(shù)調(diào)用圖相互自動(dòng)鏈接、追溯、轉(zhuǎn)換。

 

函數(shù)列表:

針對(duì)整個(gè)程序的所有函數(shù),按照各種覆蓋率、復(fù)雜度進(jìn)行排序,幫助用戶能快速的定位查看所有的函數(shù)信息,并通過(guò)和函數(shù)調(diào)用圖、控制流程圖、覆蓋率可視化圖以及累計(jì)覆蓋率圖的快速切換,使得用戶在查看和解決實(shí)際問(wèn)題上提供了方便。

 

使用ThreadingTest代碼可視化,進(jìn)行安全性檢測(cè)

在安全性檢測(cè)過(guò)程中,通常需要對(duì)代碼的設(shè)計(jì)錯(cuò)誤進(jìn)行檢測(cè),而TT提供的CallGraph能夠?qū)Τ绦蜻壿嬤M(jìn)行逆向工程,通過(guò)逆向的分析結(jié)果,測(cè)試人員就可以獲得可視化的程序調(diào)用結(jié)構(gòu)圖,也就是程序設(shè)計(jì)的圖形化表達(dá),通過(guò)CallGraph所表達(dá)的函數(shù)的調(diào)用邏輯關(guān)系以及ControlFlow所表達(dá)的程序控制流,可以協(xié)助開(kāi)發(fā)人員和測(cè)試人員快速的檢測(cè)出程序的設(shè)計(jì)錯(cuò)誤。

通過(guò)ThreadingTest進(jìn)行代碼簡(jiǎn)潔性、注釋明確性檢查

TT內(nèi)部支持根據(jù)程序的控制流特性對(duì)程序進(jìn)行標(biāo)準(zhǔn)的格式化,因此格式化過(guò)程的日志是對(duì)代碼書(shū)寫規(guī)范性進(jìn)行檢查。

通過(guò)TT的靜態(tài)分析功能,對(duì)不建議采用的語(yǔ)法進(jìn)行檢測(cè),例如函數(shù)遞歸調(diào)用以及goto語(yǔ)句可以進(jìn)行檢測(cè)。

使用ThreadingTest進(jìn)行代碼復(fù)雜度分析和安全檢查

復(fù)雜軟件不穩(wěn)定,也經(jīng)不起不可預(yù)測(cè)的行為。所以,我們努力使軟件的復(fù)雜度變小。如果有條件采用某種自動(dòng)化工具,可以通過(guò)工具對(duì)軟件設(shè)計(jì)或/和代碼進(jìn)行控制,用圖形化的方法反映出軟件結(jié)構(gòu)中的控制流和數(shù)據(jù)流,通過(guò)連結(jié)數(shù)/調(diào)用數(shù)、節(jié)點(diǎn)數(shù)、嵌套深度等這樣一些結(jié)構(gòu)關(guān)系的檢查,獲得復(fù)雜度的度量,將會(huì)獲得很好的效果。

TT在對(duì)代碼的分析過(guò)程中,TT可以直接給出代碼復(fù)雜度的計(jì)算結(jié)果,通常復(fù)雜度越高的軟件模塊更容易引入缺陷,也更加容易引入安全性問(wèn)題,高度復(fù)雜的數(shù)據(jù)結(jié)構(gòu)難以徹底測(cè)試,可以采用TT等復(fù)雜性評(píng)估技術(shù)來(lái)標(biāo)示出需要進(jìn)一步改進(jìn)的區(qū)域,以便提升軟件的安全性。

方法四:系統(tǒng)級(jí)白盒測(cè)試技術(shù)進(jìn)行充分測(cè)試及冗余代碼分析

TT支持功能測(cè)試過(guò)程中的可持續(xù)測(cè)試技術(shù),即覆蓋率合并,對(duì)于多個(gè)版本實(shí)現(xiàn)智能覆蓋率合并,以前述的函數(shù)級(jí)多版本對(duì)比為基礎(chǔ),通過(guò)覆蓋率合并算法,準(zhǔn)確統(tǒng)計(jì)出當(dāng)前最新版本的累積覆蓋率,從而極大減少測(cè)試工程師的重復(fù)測(cè)試工作。

通過(guò)TT的系統(tǒng)級(jí)白盒測(cè)試功能,我們可以通過(guò)在功能測(cè)試過(guò)程中,部署上TT,然后對(duì)所有的測(cè)試用例的白盒覆蓋率進(jìn)行匯總,經(jīng)過(guò)多輪多個(gè)用例的測(cè)試以后,TT可以清晰的展示未覆蓋的代碼,這些代碼從安全性角度來(lái)講可以分為兩類:

1.有些代碼為垃圾代碼或者不達(dá)到代碼,從安全角度來(lái)講,這些代碼都程序都存在潛在的安全性威脅,需要進(jìn)行處理。

2.軟件測(cè)試過(guò)程中不充分,這些沒(méi)有執(zhí)行的代碼,很可能存在潛在的安全漏洞,需要補(bǔ)充用例進(jìn)行測(cè)試,保證測(cè)試的全面性和充分性。

 

目前ThreadingTest個(gè)人版是免費(fèi)使用的,可以在技術(shù)網(wǎng)站了解詳情,網(wǎng)址:www.teststars.cc,也可以在星云測(cè)試網(wǎng)站下載:如果您在安裝與試用過(guò)程中有任何疑問(wèn),您可以加入QQ技術(shù)群-"符號(hào)執(zhí)行-穿線測(cè)試“,QQ號(hào)為:“339834199"

 

本文題目:如何使用ThreadingTest提高軟件安全性檢測(cè)效率(下)
轉(zhuǎn)載源于:http://muchs.cn/article22/ihidjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)網(wǎng)站改版、云服務(wù)器、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化