Parasoft教您如何將靜態(tài)分析集成到日常工作流程中!
要在項目中成功采用靜態(tài)分析,采用確保開發(fā)人員易于使用且易于訪問的靜態(tài)分析工具非常重要,可提前是需要提供有用的可操作信息。在本文中,將了解到如何通過有效的日常工作流程最大限度地提高靜態(tài)分析的采用率。
該部分是關(guān)于如何將靜態(tài)分析工具集成到您的日常工作流程中。
確保您的靜態(tài)分析采用在您的項目中取得成功,確保工具易于使用且開發(fā)人員可以輕松訪問,提前是提供有用的可操作信息。這最好在開發(fā)人員使用的環(huán)境(IDE)中實現(xiàn),如 Eclipse 或 Visual Studio。靜態(tài)分析警告的提供方式與IDE中的編譯器錯誤相同,并且這些警告會在代碼中突出顯示,以便更輕松地進行分析和修復(fù)。例如,請參閱 Parasoft Jtest 在Eclipse中集成的靜態(tài)分析警告的屏幕截圖:
正如您在Eclipse中的Java應(yīng)用程序的上述示例中所看到的,Parasoft Jtest的靜態(tài)分析結(jié)果在警告/錯誤視圖 ? 中提供,并且可以與任何其他錯誤消息進行交互。選擇錯誤會使編輯器窗格 ? 顯示相關(guān)代碼行,這也會在代碼中顯示控制流跟蹤,該跟蹤可用于跟蹤警告的根本原因。如果需要補救,可以像往常一樣通過項目導(dǎo)航視圖 ? 提交代碼。
那么開發(fā)人員在分析每個警告時會做些什么呢?可以在流程圖中描述,如下圖所示:
第1步:聚合和過濾警告
它首先聚合和過濾靜態(tài)分析結(jié)果,這是確定優(yōu)先級并關(guān)注關(guān)鍵警告的關(guān)鍵第一步。通常,質(zhì)量保證和團隊負責(zé)人會考慮質(zhì)量目標,并圍繞此目標構(gòu)建分析配置。例如,為了提高安全性,將啟用與安全性相關(guān)的檢查器以及諸如CERT C的安全編碼標準。
第2-4步:調(diào)查,確定優(yōu)先級并修復(fù)警告
然后,開發(fā)人員根據(jù)團隊制定的政策和產(chǎn)品的成熟度,調(diào)查并修復(fù)他們發(fā)現(xiàn)的警告。在綠地項目(新建項目)中,大多數(shù)警告都會被調(diào)查并優(yōu)先處理,因為代碼量相對較小,而在成熟的后期階段,過濾和優(yōu)先級將更加嚴格,因此開發(fā)人員只能處理真正的關(guān)鍵警告。在任何一種情況下,過程都是相同的。
第5步:來源登記
在響應(yīng)靜態(tài)分析警告進行更改后,將代碼檢入版本控制并在下一次構(gòu)建期間再次進行分析。這種簡短而緊湊的反饋循環(huán)在編寫和修改代碼時極大地提高了代碼的質(zhì)量和安全性。
集成到構(gòu)建系統(tǒng)和持續(xù)集成管道中
靜態(tài)分析工具和構(gòu)建系統(tǒng)的主要集成點是通過命令行界面。以這種方式使用的靜態(tài)分析有點像構(gòu)建結(jié)構(gòu)中的編譯器。文件以相同的方式處理,盡管輸出不是可執(zhí)行文件,而是存儲在存儲庫中的結(jié)果,由文件和內(nèi)部版本編號索引。
例如,通過 Parasoft C/C++test,這由Parasoft的報告和分析系統(tǒng)(Parasoft DTP)處理,該系統(tǒng)既是存儲庫,也是分析結(jié)果的智能引擎。該分析和附帶信息將反饋給每個開發(fā)人員,并通過Parasoft的門戶網(wǎng)站提供給管理人員和團隊負責(zé)人。
在上圖中,您將看到我們?nèi)绾螌arasoft靜態(tài)分析工具集成到持續(xù)集成管道中。Parasoft DTP是警告的中央存儲庫和分析引擎。
總結(jié)
將靜態(tài)分析集成到日常工作流中需要開發(fā)人員直接在IDE中訪問靜態(tài)分析,以及執(zhí)行項目范圍分析,報告和管理的能力。直接支持開發(fā)人員使用代碼,以及團隊負責(zé)人和管理人員,他們可以使用自己的趨勢信息和報告訪問相同的信息,這對于在項目中完全利用靜態(tài)分析至關(guān)重要。
想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或資源的朋友,請點擊這里~