• <menu id="w2i4a"></menu>
  • logo Parasoft 行業(yè)資訊(一)

    文檔首頁(yè)>>Parasoft 行業(yè)資訊(一)>>專(zhuān)業(yè)軟件測(cè)試工程師告訴你:如何選擇現(xiàn)代的靜態(tài)分析工具

    專(zhuān)業(yè)軟件測(cè)試工程師告訴你:如何選擇現(xiàn)代的靜態(tài)分析工具


    專(zhuān)業(yè)軟件測(cè)試工程師告訴你:如何選擇現(xiàn)代的靜態(tài)分析工具

    50000英尺的高度看,所有靜態(tài)分析工具看起來(lái)都一樣。他們分析代碼,不執(zhí)行代碼并發(fā)現(xiàn)缺陷、漏洞和其他問(wèn)題。

    所有工具都會(huì)生成警告和報(bào)告。它們通常集成到IDE和CI/CD/build系統(tǒng)中。如果您想成功地將任何編碼工具集成到您的日常開(kāi)發(fā)中并獲得最大的投資回報(bào),則必須全面評(píng)估您的選擇。


    超越靜態(tài)分析工具


    當(dāng)試圖確定哪種靜態(tài)分析工具最有效時(shí),許多評(píng)估人員會(huì)采用一種通用的方法來(lái)為其團(tuán)隊(duì)或組織選擇工具。他們使用相同的代碼運(yùn)行每個(gè)工具,比較結(jié)果,然后立即選擇報(bào)告最多違規(guī)情況的工具。

    這并不是真正的產(chǎn)品評(píng)估。這是一場(chǎng)烘烤。贏家不一定是在團(tuán)隊(duì)或組織內(nèi)建立可持續(xù)、可擴(kuò)展的靜態(tài)分析過(guò)程的最佳工具。

    實(shí)際上,在成功進(jìn)行這些靜態(tài)分析時(shí),通常會(huì)忽略許多關(guān)鍵因素,這些因素是成功采用靜態(tài)分析與另一失敗嘗試之間的區(qū)別。



    評(píng)估您的靜態(tài)代碼分析需求和當(dāng)前狀況


    在開(kāi)始尋找工具之前,請(qǐng)對(duì)您的組織進(jìn)行殘酷誠(chéng)實(shí)的調(diào)查。評(píng)估以下內(nèi)容:

    您的組織需要什么。要成功進(jìn)行靜態(tài)分析,重要的是要了解要解決的問(wèn)題。

    • 靜態(tài)分析正在解決哪些具體的痛點(diǎn)?
    • 組織是否有合規(guī)要求?
    • 應(yīng)用程序安全性值得關(guān)注嗎?
    • 已經(jīng)做什么了?
    • 誰(shuí)需要查看分析報(bào)告并采取行動(dòng)?

    您的組織所在的位置。了解新工具的目的以及它們是否適合您的組織也很重要。

    • 您當(dāng)前的開(kāi)發(fā)過(guò)程是否穩(wěn)定,可重復(fù)且精簡(jiǎn),足以為靜態(tài)分析奠定堅(jiān)實(shí)的基礎(chǔ)?
    • 先前評(píng)估或?qū)嵤╈o態(tài)分析工具的結(jié)果是什么?


    工具選擇過(guò)程中的標(biāo)準(zhǔn)


    在開(kāi)發(fā)過(guò)程中選擇靜態(tài)分析工具進(jìn)行采用和最終集成需要付出努力和計(jì)劃。這不僅僅是技術(shù)審查。該過(guò)程需要檢查該工具與您的組織的適合程度。評(píng)估銷(xiāo)售和支持工具的供應(yīng)商也很重要。

    工具評(píng)估標(biāo)準(zhǔn)

    以下是對(duì)候選工具進(jìn)行技術(shù)評(píng)估時(shí)要考慮的標(biāo)準(zhǔn):

    • 必要準(zhǔn)則的涵蓋范圍
    • 內(nèi)置檢查器的質(zhì)量,以獲取必要的準(zhǔn)則
    • 覆蓋行業(yè)和企業(yè)標(biāo)準(zhǔn)
    • 分析的深度和廣度
    • 減少噪音的實(shí)用方法(違反可忽略的檢查程序)
    • 誤報(bào)的合理數(shù)量和方法
    • 可接受的假陰性數(shù)
    • 輕松調(diào)整內(nèi)置檢查器以適合您組織的政策
    • 輕松添加新的自定義檢查器以檢查唯一需求
    • 新的自定義檢查器支持的復(fù)雜程度

    聯(lián)系我們,為您解答“如何選擇現(xiàn)代靜態(tài)分析工具”,以獲取每種工具的更多詳細(xì)信息。

    供應(yīng)商注意事項(xiàng)

    選擇正確的供應(yīng)商與選擇正確的工具一樣重要。當(dāng)組織獲得工具時(shí),他們即承諾與所選供應(yīng)商建立關(guān)系。

    在大多數(shù)成功的工具部署背后,有一家供應(yīng)商致力于幫助組織實(shí)現(xiàn)業(yè)務(wù)目標(biāo),應(yīng)對(duì)表面挑戰(zhàn)并推動(dòng)采用。


    在整個(gè)評(píng)估過(guò)程中,必須考慮幾層供應(yīng)商資格和評(píng)估。此時(shí),請(qǐng)考慮以下事項(xiàng):

    • 供應(yīng)商對(duì)規(guī)模、增長(zhǎng)和愿景的能力支持是否符合您的要求和目標(biāo)?
    • 供應(yīng)商是否有一致的策略來(lái)在整個(gè)組織中進(jìn)行部署,以及如何隨著組織需求的變化而發(fā)展
    • 供應(yīng)商推薦使用其工具的“最佳做法”是什么?

    了解供應(yīng)商在市場(chǎng)中的聲譽(yù)也很重要?;卮疬@些問(wèn)題:

    • 哪些組織正在使用該工具?
    • 案例研究揭示了其部署、使用和收益的哪些方面?
    • 行業(yè)專(zhuān)家在評(píng)論、文章和獎(jiǎng)項(xiàng)中怎么說(shuō)?

    質(zhì)量與數(shù)量:關(guān)于覆蓋范圍

    潛在客戶(hù)的一個(gè)常見(jiàn)問(wèn)題是:您的產(chǎn)品有幾個(gè)檢查器?

    這個(gè)問(wèn)題暗示著工具的質(zhì)量取決于它所涵蓋的不同錯(cuò)誤的數(shù)量。對(duì)于任何工具(尤其是靜態(tài)分析工具)而言,這都是很差的措施。

    靜態(tài)分析工具的用戶(hù)應(yīng)該真正關(guān)心每個(gè)工具覆蓋不同錯(cuò)誤類(lèi)型,編碼標(biāo)準(zhǔn)和分析深度的程度。一個(gè)常見(jiàn)的例子是每個(gè)供應(yīng)商聲稱(chēng)他們的工具聲稱(chēng)CWE Top 25或OWASP Top 10或MISRA C/C++覆蓋率。

    看到供應(yīng)商聲稱(chēng)100%覆蓋了流行的編碼標(biāo)準(zhǔn)并不少見(jiàn)。通常會(huì)引起誤解的說(shuō)法。真正的問(wèn)題應(yīng)該是,而不是擔(dān)心檢查程序或規(guī)則的數(shù)量:工具覆蓋您所關(guān)注的編碼問(wèn)題的程度如何?

    示例:MISRA C,C++和CERT C覆蓋范圍

    盡管像MISRA這樣的編碼標(biāo)準(zhǔn)已經(jīng)扎根于汽車(chē)領(lǐng)域,但它們的采用正遍及其他對(duì)安全至關(guān)重要的領(lǐng)域。與市場(chǎng)需要的SEI CERT C一起使用,或用于降低軟件開(kāi)發(fā)的風(fēng)險(xiǎn)。無(wú)論用例如何,這些標(biāo)準(zhǔn)都不可避免地用于評(píng)估靜態(tài)分析工具。

    但是,由于每個(gè)標(biāo)準(zhǔn)的覆蓋范圍聲明并未準(zhǔn)確定義工具對(duì)覆蓋范圍的聲明方式,因此可以解釋。深入研究可能對(duì)您的用例重要的特定功能具有價(jià)值。例如,如果您的項(xiàng)目需要MISRA C,則應(yīng)詳細(xì)查看每種工具的功能。

    考慮以下對(duì)各種開(kāi)源和商業(yè)解決方案的評(píng)估,以評(píng)估它們對(duì)MISRA和CERT C標(biāo)準(zhǔn)的覆蓋范圍:

    開(kāi)源解決方案的覆蓋率很差,這并不奇怪,因?yàn)樗鼈兊囊鈭D從未遵循這樣的標(biāo)準(zhǔn)。但是,通常聲稱(chēng)支持這些標(biāo)準(zhǔn)的各種商業(yè)工具并沒(méi)有真正交付。在這里重要的真正評(píng)估標(biāo)準(zhǔn)是標(biāo)準(zhǔn)的覆蓋范圍,而不是支持該標(biāo)準(zhǔn)所需的檢查人員數(shù)量。

    但是,在使用測(cè)試套件衡量標(biāo)準(zhǔn)的覆蓋率時(shí),您還需要考慮測(cè)試套件本身的覆蓋率。下圖的Juliet CWE Top 25(2011)覆蓋范圍圖像列出了通用弱點(diǎn)枚舉(CWE)ID以及Juliet C/C++和Java測(cè)試套件中的任何測(cè)試是否涵蓋了它們。您可以清楚地看到測(cè)試套件沒(méi)有完全覆蓋重要的CWE(前25名),這在許多測(cè)試套件中都是常見(jiàn)的。

    開(kāi)源解決方案

    關(guān)于將靜態(tài)分析解決方案使用開(kāi)源工具的問(wèn)題顯而易見(jiàn)。FOSS需要牢記一些關(guān)鍵問(wèn)題。評(píng)估需要包括缺少的重要功能,服務(wù)和支持的成本。

    通常,這里提供有關(guān)FOSS成本和收益的詳細(xì)信息,包括支持、項(xiàng)目活動(dòng)和壽命以及可伸縮性等問(wèn)題。如果行業(yè)標(biāo)準(zhǔn)很重要,并且外部審核是您業(yè)務(wù)的一部分,則FOSS解決方案可能不是一個(gè)選擇。


    需要回答的問(wèn)題


    在評(píng)估每個(gè)試點(diǎn)項(xiàng)目的結(jié)果時(shí),評(píng)估和最終決策應(yīng)歸結(jié)為回答以下關(guān)鍵問(wèn)題:

    團(tuán)隊(duì)會(huì)真正采用并使用它嗎?如果無(wú)法部署,開(kāi)發(fā)人員不使用它,或者對(duì)項(xiàng)目進(jìn)度造成太大干擾,那么世界上最好的工具將無(wú)法提供任何價(jià)值。要確定采用某項(xiàng)工具的程度,不僅需要對(duì)工具、檢查器和集成進(jìn)行全面評(píng)估,還需要對(duì)供應(yīng)商,其支持、服務(wù)和培訓(xùn)進(jìn)行全面評(píng)估。

    它會(huì)解決組織和團(tuán)隊(duì)正在嘗試解決的問(wèn)題嗎?部署新技術(shù)需要專(zhuān)注于要解決的問(wèn)題,而不僅僅是期望靜態(tài)分析將解決您的問(wèn)題。

    此外,對(duì)解決該問(wèn)題的新技術(shù)的期望應(yīng)該是現(xiàn)實(shí)的。量化成功和投資回報(bào)很重要。務(wù)必提前確定如何衡量成功:損失的時(shí)間,錯(cuò)過(guò)的發(fā)布或現(xiàn)場(chǎng)支持案例。

    這是一個(gè)長(zhǎng)期的解決方案嗎?評(píng)估很耗時(shí),需要團(tuán)隊(duì)投入。全面部署需要更多的時(shí)間和精力。選擇一種“目前已經(jīng)足夠好”的工具可能會(huì)在短期內(nèi)節(jié)省金錢(qián),但從長(zhǎng)期來(lái)看卻非常昂貴。


    總結(jié)


    靜態(tài)分析工具的評(píng)估通常最終會(huì)失敗,在此過(guò)程中,每個(gè)工具都在同一段代碼上進(jìn)行測(cè)試并根據(jù)結(jié)果進(jìn)行評(píng)估。盡管這是有用的并且技術(shù)評(píng)估很重要,但是評(píng)估人員還需要超越這些結(jié)果,以更大的眼光看待更長(zhǎng)的時(shí)間。

    評(píng)估人員需要考慮工具如何有效地管理結(jié)果,包括易于使用的可視化和報(bào)告。 團(tuán)隊(duì)?wèi)?yīng)該清楚地了解每種工具如何支持在編碼標(biāo)準(zhǔn)等領(lǐng)域提出的主張。




    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話咨詢(xún)

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();