博客
希望我們能(néng)與您分享和探讨成(chéng)長(cháng)中的點點滴滴
選擇Fortify靜态代碼分析工具作爲您的下一個SAST工具是正确的嗎?
分享到
嵌入式系統有很多,但真正能(néng)支持嵌入式軟件開(kāi)發(fā)人員的靜态代碼分析工具卻很少。OpenText最近對(duì)Micro Focus(包括Fortify靜态代碼分析工具)的收購,重新引發(fā)了一個問題,即哪種(zhǒng)靜态代碼分析工具最适合您的嵌入式軟件項目。
通過(guò)比較Fortify和Klocwork,我們的專家找到了答案。本文將(jiāng)包含如下内容:
• 什麼(me)是Fortify靜态代碼分析工具?
• 在評估Fortify和Klocwork時(shí)需要考慮什麼(me)?
• 爲什麼(me)考慮替換Fortify靜态代碼分析工具?
• 爲什麼(me)您應該考慮Klocwork?
什麼(me)是Fortify靜态代碼分析工具?
繼Klocwork技術推出幾年後(hòu)的2003年,Fortify成(chéng)立了,這(zhè)是一套識别特定編碼規則和指南的違規行爲的代碼分析工具。從2010年被(bèi)惠普收購到2016年與Micro Focus合并,Fortify一直專注于企業安全和廣泛的語言支持方面(miàn)的功能(néng)。
Fortify的新東家OpenText卻有著(zhe)不同的視角,專注于企業信息管理。對(duì)Micro Focus的收購标志著(zhe)OpenText想要拓展到一個全新的領域:應用程序開(kāi)發(fā)與測試,專注于當今API驅動的世界。在DevOps.com最近的一篇文章中,OpenText首席執行官Mark J. Barrenechea告訴分析師:
“最終目标是使企業能(néng)夠使用一組部署在私有雲上的以應用程序編程接口(API)爲中心的産品來加速其數字業務轉型計劃。”
不難判斷這(zhè)種(zhǒng)新的企業并購意味著(zhe):更有力地推動企業開(kāi)發(fā)人員進(jìn)行靜态應用程序安全測試(SAST)。
雖然嵌入式軟件開(kāi)發(fā)人員通常也是在企業環境中工作,但嵌入式軟件開(kāi)發(fā)和企業應用開(kāi)發(fā)的技術迥異。這(zhè)就(jiù)是爲什麼(me)在比較Fortify靜态代碼分析工具和Klocwork時(shí),您要知道(dào)什麼(me)是需要考慮的關鍵因素。
在評估Fortify和Klocwork時(shí)需要考慮什麼(me)?
語言功能(néng)和體驗
Fortify的“對(duì)開(kāi)發(fā)人員友好(hǎo)的語言覆蓋率”功能(néng)意味著(zhe)其支持超過(guò)29種(zhǒng)語言,從ASP.NET到Visual Basic。Klocwork支持7種(zhǒng)語言,包括最流行的嵌入式軟件語言,如C、C++、C#和Java。
雖然廣度對(duì)于有多個團隊和大型應用程序框架的企業環境是有利的,但嵌入式開(kāi)發(fā)人員需要基于資源受限系統的獨特需求所構建的專門支持。例如,web開(kāi)發(fā)人員可能(néng)不關心他們的應用程序如何使用内存,但嵌入式開(kāi)發(fā)人員肯定關心。
研發(fā)投入和發(fā)布節奏
Klocwork每個季度發(fā)布更新,确保您能(néng)夠訪問最新的特性、性能(néng)更新和缺陷修複。Fortify一年隻發(fā)布兩(liǎng)次,有時(shí)更少。對(duì)于您的團隊來說(shuō),這(zhè)種(zhǒng)節奏是否合适取決于您的使用模式以及對(duì)靜态分析和SAST工具的使用程度。
Perforce繼續在Klocwork上加大投入,包括研究活動、技術開(kāi)發(fā)、産品維護,以及爲嵌入式用戶提供相關、有效的SAST功能(néng)所需的内部經(jīng)驗。目前還(hái)不清楚OpenText將(jiāng)把Fortify帶到哪裡(lǐ),但我們在下面(miàn)提出了一些指導性的問題。
嵌入式行業經(jīng)驗
從一開(kāi)始,Klocwork就(jiù)被(bèi)設計爲針對(duì)資源受限系統(2001年時(shí),指的是電信軟件)的特定需求執行大規模源代碼分析,從那以後(hòu)就(jiù)從未偏離。通過(guò)讓嵌入式開(kāi)發(fā)人員構建适用于嵌入式開(kāi)發(fā)的靜态分析和SAST工具,并得到嵌入式行業的QA團隊、産品經(jīng)理以及合規專家的支持,您將(jiāng)獲得豐富的經(jīng)驗和應用程序相關的特性,堪稱完美。
例如,最近在Klocwork中增加了嵌套流(Nested Streams),就(jiù)是嵌入式軟件團隊需要管理同一個代碼庫中多個變體和分支的直接結果。通過(guò)簡化配置、問題管理、缺陷跟蹤和報告,Klocwork能(néng)夠更好(hǎo)地支持在一個發(fā)布周期内具有多個目标設備的項目。
Fortify靜态代碼分析對(duì)企業團隊而言是一個有益工具,也是原生雲開(kāi)發(fā)的一項重要輔助手段。雖然這(zhè)些功能(néng)在許多嵌入式系統中都(dōu)發(fā)揮著(zhe)作用,但Fortify顯然是爲不同的市場打造的。
标準合規性
要求标準合規性的嵌入式軟件團隊比以往任何時(shí)候都(dōu)多,這(zhè)就(jiù)要求工具能(néng)夠符合不斷更新的指南、規則和期望。Fortify提供對(duì)OWASP和一些MISRA版本等流行标準的支持。
然而,Klocwork特有的合規性分類法旨在支持在汽車、航空航天和國(guó)防、醫療器械、金融系統等領域工作的嵌入式C、C++、C#和Java開(kāi)發(fā)人員的功能(néng)安全和網絡安全需求。
客戶意見
“Klocwork提供了可靠的靜态代碼分析結果,幫助我們避免了潛在的錯誤。無論是直接在開(kāi)發(fā)工具中,還(hái)是通過(guò)我們的持續集成(chéng)服務器,設置和使用都(dōu)很容易。”——網絡工程師
從汽車到醫療器械領域,Klocwork用戶都(dōu)是最好(hǎo)的倡導者。以下是一些案例研究和視頻,闡釋了爲什麼(me)構建适用于嵌入式軟件的靜态分析和SAST很重要:
• Elektrobit: From False Positives to Trust: A Story of Static Code Analysis Adoption
• Johns Hopkins: How Johns Hopkins Enhanced Software Reliability and Developer Productivity With Klocwork
• How Klocwork Supports Safety-Critical Development
• Achieving AUTOSAR C++14 Compliant Code with Klocwork
構建一個世界級的靜态代碼分析工具不僅僅是一個想法,我們還(hái)每月舉辦靜态分析同步(Static Analysis Sync)活動,爲嵌入式軟件社區提供培訓,與他們同步最新動态并提供支持服務。每個活動都(dōu)是與我們的靜态分析專家在現場公開(kāi)地進(jìn)行小組讨論的機會(huì)。其中包括收集開(kāi)發(fā)人員對(duì)項目、關注事(shì)項和不斷變化的需求的反饋,以及産品路線圖讨論,讓客戶知曉在我們即將(jiāng)發(fā)布的Klocwork季度版本中可以期待什麼(me)。
爲什麼(me)考慮替換Fortify靜态代碼分析工具?
除了技術細節和嵌入式行業知識之外,Fortify的收購還(hái)帶來了一個非常現實的問題,即靜态分析和測試預算應該投在哪裡(lǐ)。無論您是要續訂某個工具,還(hái)是在研究購買哪個工具,您都(dōu)要提出以下幾個關鍵問題:
1. 未來2 - 5年的産品路線圖是什麼(me)樣(yàng)的?
2. 公司在工具的研發(fā)上投入了多少資金?
3. 産品的發(fā)布節奏、維護條款和支持協議將(jiāng)發(fā)生什麼(me)變化?
4. 收購會(huì)影響客戶支持團隊嗎?
5. 産品線是會(huì)保留,還(hái)是會(huì)被(bèi)整合,又或是會(huì)被(bèi)砍掉?
對(duì)最終用戶來說(shuō),收購可能(néng)是一條棘手的路徑,所以理解變更并認識到其對(duì)項目的影響總歸是好(hǎo)的。
爲什麼(me)您應該考慮Klocwork?
對(duì)于強制要求合規性和安全性的行業,選擇能(néng)夠提供全面(miàn)覆蓋而不中斷開(kāi)發(fā)過(guò)程的靜态代碼分析工具是一個對(duì)業務至關重要的決策。
在這(zhè)裡(lǐ),我們將(jiāng)概述爲什麼(me)Klocwork是一流的靜态分析和SAST工具:
• 在CI/CD管道(dào)中無縫運行。
• 即使在大型代碼庫上,也能(néng)提供閃電般的分析速度。
• 提供深入和廣泛的覆蓋度。
• 誤報率低,并提供修複指南。
• 獨立認證,并提供深度的專業知識。
總結:就(jiù)使用便捷性、靈活性和可擴展性而言,Klocwork無疑是一個明智的選擇。如果您想更深入地比較Fortify靜态代碼分析工具和Klocwork,請在這(zhè)裡(lǐ)與我們的産品專家聯系。
若想親自體驗Klocwork這(zhè)款工具,立刻注冊申請免費試用吧。