溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

靜態(tài)分析與軟件測(cè)試中的動(dòng)態(tài)分析

發(fā)布時(shí)間:2020-07-28 09:13:08 來(lái)源:網(wǎng)絡(luò) 閱讀:4147 作者:Lickm 欄目:網(wǎng)絡(luò)安全

什么是靜態(tài)分析?
靜態(tài)分析不涉及被測(cè)軟件的動(dòng)態(tài)執(zhí)行,并且可以在運(yùn)行程序之前的早期階段檢測(cè)可能的缺陷。
靜態(tài)分析在編碼之后和執(zhí)行單元測(cè)試之前完成。
靜態(tài)分析可以由機(jī)器完成,以自動(dòng)“遍歷”源代碼并檢測(cè)不合規(guī)規(guī)則。經(jīng)典的例子是一個(gè)編譯器,它可以找到詞匯,句法甚至一些語(yǔ)義錯(cuò)誤。
靜態(tài)分析也可以由審查代碼的人執(zhí)行,以確保使用正確的編碼標(biāo)準(zhǔn)和約定來(lái)構(gòu)建程序。這通常稱(chēng)為代碼審查,由同行開(kāi)發(fā)人員(編寫(xiě)代碼的開(kāi)發(fā)人員以外的人)完成。
靜態(tài)分析還用于強(qiáng)制開(kāi)發(fā)人員通過(guò)設(shè)置不得使用的規(guī)則來(lái)不使用編程語(yǔ)言的風(fēng)險(xiǎn)或錯(cuò)誤部分。
當(dāng)開(kāi)發(fā)人員執(zhí)行代碼分析時(shí),他們通常會(huì)尋找
? 代碼行
? 評(píng)論頻率
? 適當(dāng)?shù)那短?br/>? 函數(shù)調(diào)用次數(shù)
? 循環(huán)復(fù)雜性
? 也可以檢查單元測(cè)試
質(zhì)量屬性可以成為靜態(tài)分析的重點(diǎn):
? 可靠性
? 可維護(hù)性
? 可測(cè)性
? 可重用性
? 可移植性
? 效率
靜態(tài)分析的優(yōu)點(diǎn)是什么?
靜態(tài)分析的主要優(yōu)點(diǎn)是,在準(zhǔn)備進(jìn)行集成和進(jìn)一步測(cè)試之前,它會(huì)發(fā)現(xiàn)代碼存在問(wèn)題。
靜態(tài)代碼分析的優(yōu)點(diǎn):
? 它可以在確切的位置找到代碼中的弱點(diǎn)。
? 它可以由經(jīng)過(guò)培訓(xùn)的軟件保障開(kāi)發(fā)人員進(jìn)行,他們完全理解代碼。
? 其他或未來(lái)的開(kāi)發(fā)人員可以輕松理解源代碼
? 它允許更快地轉(zhuǎn)換修復(fù)
? 在開(kāi)發(fā)生命周期的早期發(fā)現(xiàn)了弱點(diǎn),降低了修復(fù)成本。
? 在以后的測(cè)試中減少缺陷
? 檢測(cè)到使用動(dòng)態(tài)測(cè)試不能或幾乎檢測(cè)不到的獨(dú)特缺陷
? 無(wú)法訪問(wèn)的代碼
? 可變使用(未申報(bào),未使用)
? 未調(diào)用的函數(shù)
? 邊界值違規(guī)
靜態(tài)代碼分析限制
? 如果手動(dòng)進(jìn)行則很費(fèi)時(shí)間。
? 自動(dòng)化工具會(huì)產(chǎn)生誤報(bào)和漏報(bào)。
? 沒(méi)有足夠的訓(xùn)練有素的人員來(lái)徹底進(jìn)行靜態(tài)代碼分析。
? 自動(dòng)化工具可以提供錯(cuò)誤的安全感,以便解決所有問(wèn)題。
? 自動(dòng)化工具的效果與它們用于掃描的規(guī)則一樣好。
? 它沒(méi)有發(fā)現(xiàn)運(yùn)行時(shí)環(huán)境中引入的漏洞。
什么是動(dòng)態(tài)分析?
與靜態(tài)分析相反,在不執(zhí)行代碼的情況下,動(dòng)態(tài)分析基于系統(tǒng)執(zhí)行,通常使用工具。
來(lái)自維基百科對(duì)動(dòng)態(tài)程序分析的定義:
動(dòng)態(tài)程序分析是對(duì)計(jì)算機(jī)軟件的分析,該計(jì)算機(jī)軟件是通過(guò)在真實(shí)或虛擬處理器上執(zhí)行從該軟件構(gòu)建的程序來(lái)執(zhí)行的(在不執(zhí)行程序的情況下執(zhí)行的分析稱(chēng)為靜態(tài)代碼分析)。動(dòng)態(tài)程序分析工具可能需要加載特殊庫(kù)甚至重新編譯程序代碼。
最常見(jiàn)的動(dòng)態(tài)分析實(shí)踐是針對(duì)代碼執(zhí)行單元測(cè)試以查找代碼中的任何錯(cuò)誤。
動(dòng)態(tài)代碼分析優(yōu)勢(shì):
? 它識(shí)別運(yùn)行時(shí)環(huán)境中的漏洞。
? 它允許分析您無(wú)法訪問(wèn)實(shí)際代碼的應(yīng)用程序。
? 它識(shí)別靜態(tài)代碼分析中可能是漏報(bào)的漏洞。
? 它允許您驗(yàn)證靜態(tài)代碼分析結(jié)果。
? 它可以針對(duì)任何應(yīng)用程序進(jìn)行。
動(dòng)態(tài)代碼分析限制:
? 自動(dòng)化工具提供了一種錯(cuò)誤的安全感,一切都在被解決。
? 無(wú)法保證源代碼的完整測(cè)試覆蓋率
? 自動(dòng)化工具會(huì)產(chǎn)生誤報(bào)和漏報(bào)。
? 自動(dòng)化工具僅與用于掃描的規(guī)則一樣好。
? 將漏洞追溯到代碼中的確切位置更加困難,需要更長(zhǎng)時(shí)間才能解決問(wèn)題。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI