原創(chuàng)|使用教程|編輯:蔣永|2017-02-20 10:41:47.000|閱讀 864 次
概述:本教程講解了Jtest中RuleWizard和BugDetective靜態(tài)分析的講解,歡迎收藏和分享~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
RuleWizard(僅在Architect and Server edition中提供)允許您為Java代碼語法、JSP代碼和代碼風(fēng)格問題創(chuàng)建自定義的代碼規(guī)范規(guī)則。Jtest可以自動(dòng)實(shí)施任何在 RuleWizard 中創(chuàng)建的有效規(guī)則。通過創(chuàng)建和檢查自定義規(guī)則,團(tuán)隊(duì)可以驗(yàn)證獨(dú)特的項(xiàng)目和組織需求、以及防止最常見的錯(cuò)誤重復(fù)出現(xiàn)。
使用 RuleWizard,就能以圖形化的方式創(chuàng)建規(guī)則(通過創(chuàng)建流程圖形式的規(guī)則表示法),或者自動(dòng)創(chuàng)建規(guī)則(通過提供演示樣本規(guī)則違例的代碼)。編寫或修改規(guī)則時(shí),無需任何編碼或解析器的知識(shí)。
打開 RuleWizard的方法有兩種:
BugDetective 是一類新的靜態(tài)分析技術(shù),該技術(shù)使用了幾種分析技巧,包括模擬應(yīng)用程序執(zhí)行路徑,以識(shí)別可能觸發(fā)運(yùn)行時(shí)缺陷的路徑。檢測(cè)到的缺陷包括,空指針異常、資源泄漏、SQL注入和其他安全漏洞問題。
注意:如需使用 BugDetective,則需要用Server Edition (服務(wù)器版)。
BugDetective 是一類新的靜態(tài)分析技術(shù),該技術(shù)使用了幾種分析技巧,包括模擬應(yīng)用程序執(zhí)行路徑,以識(shí)別可能觸發(fā)運(yùn)行時(shí)缺陷的路徑。檢測(cè)到的缺陷包括,空指針異常、資源泄漏、SQL注入和其他安全漏洞問題。
由于該分析涉及到識(shí)別和跟蹤復(fù)雜路徑,它會(huì)暴露通常可逃避編碼規(guī)則靜態(tài)分析和單元測(cè)試的錯(cuò)誤,這些錯(cuò)誤難以通過手動(dòng)測(cè)試或檢查找到。對(duì)于那些具有遺留代碼庫和嵌入式代碼(這些情況下,此類錯(cuò)誤的運(yùn)行時(shí)檢測(cè)效果較差或根本不可能)的用戶而言,BugDetective可在不執(zhí)行代碼的情況下顯露錯(cuò)誤的功能,就特別重要。
BugDetective獨(dú)特的靜態(tài)分析通過搜索代碼中的 “可疑點(diǎn)”,開始分析正在測(cè)試的源碼。可疑點(diǎn)是潛在的錯(cuò)誤點(diǎn)。這些可疑點(diǎn)在 BugDetective 規(guī)則中被定義。只要識(shí)別了可疑點(diǎn),BugDetective 就調(diào)查導(dǎo)致該可疑點(diǎn)的可能執(zhí)行路徑,并檢查是否有任何確實(shí)違反BugDetective規(guī)則的路徑存在。如果找到了這樣的路徑,就報(bào)告一個(gè)違例。
例如,檢測(cè)可能的 “除數(shù)為零”情形的規(guī)則就規(guī)定,任何使用了"/" 或 "%" 運(yùn)算符的點(diǎn)都是可疑的。然后它檢查分母中的變量,在導(dǎo)致它為零的任何可能執(zhí)行路徑的點(diǎn)中,是否能保持零值。如果是的話,則會(huì)報(bào)告一條錯(cuò)誤。
對(duì)于每個(gè)發(fā)現(xiàn)的錯(cuò)誤,分層結(jié)構(gòu)流路徑數(shù)據(jù)都會(huì)詳細(xì)準(zhǔn)確地列出導(dǎo)致被識(shí)別錯(cuò)誤的完整執(zhí)行路徑,并以顯現(xiàn)出錯(cuò)誤的那一代碼行作為結(jié)束。為減少每個(gè)被發(fā)現(xiàn)問題的診斷和糾正所需要的時(shí)間和工作量,流路徑詳細(xì)信息還會(huì)補(bǔ)充擴(kuò)展注釋(例如,一條關(guān)于 “避免空指針解除引用”違例的描述就包含這樣的注釋,描述哪些變量、在流路徑的哪一點(diǎn)包含 null 值)。
為使分析過程更靈活、更適合于項(xiàng)目的獨(dú)特要求,可以參數(shù)化某些規(guī)則。因此,BugDetective 甚至可以用來檢測(cè)與特定的 API 使用相關(guān)的違例。
通過使用 BugDetective,開發(fā)團(tuán)隊(duì)可以獲得以下關(guān)鍵好處:
查看更多parasoft測(cè)試產(chǎn)品
獲取更多活動(dòng)信息
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn