原創|使用教程|編輯:鄭恭琳|2020-06-22 14:43:22.873|閱讀 535 次
概述:為了成功地將靜態分析應用到您的項目中,重要的是要確保您的靜態分析工具易于使用,并且開發人員可以輕松訪問,并預先提供有用、可操作的信息。在本文中,學習如何通過有效的日常工作流程最大程度地利用靜態分析。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
為了成功地將靜態分析應用到您的項目中,重要的是要確保您的靜態分析工具易于使用,并且開發人員可以輕松訪問,并預先提供有用、可操作的信息。在本文中,學習如何通過有效的日常工作流程最大程度地利用靜態分析。
如果您還沒有閱讀上一篇有關靜態分析入門的文章,那么我建議您先閱讀一遍,以了解如何從靜態分析工具解釋您的第一份報告并處理初始分析而又不會使團隊感到不知所措。
這個小入門系列的第二部分是關于如何將靜態分析工具集成到您的日常工作流程中的。您如何每天整合靜態分析?
事實證明,這是關鍵。確保在您的項目中成功采用靜態分析,要圍繞確保工具易于使用和開發人員易于使用的方式進行,并預先提供有用,可操作的信息。這是在開發人員正在使用的環境(IDE)(例如Eclipse或Visual Studio)中最佳實現的。靜態分析警告的發送方式與IDE中的編譯器錯誤相同,并且在代碼中突出顯示了這些警告,以使分析和修復更加容易。例如,請參閱以下集成在Eclipse中的Parasoft Jtest靜態分析警告的屏幕截圖:
正如您在Eclipse中的Java應用程序的以上示例中所看到的那樣,Parasoft Jtest的靜態分析結果以警告/錯誤視圖(1)的形式提供,并且可以與任何其他錯誤進行交互信息。選擇錯誤會將編輯器窗格(2)帶到相關代碼行,這還將在代碼中顯示可用于跟蹤警告根本原因的控制流跟蹤。如果需要補救,可以照常通過項目導航視圖(3)提交代碼。
那么,開發人員在分析每個警告時會做什么?最好在流程圖中對此進行描述,如下所示:
它從匯總和過濾靜態分析結果開始,這是確定優先級并關注關鍵警告的關鍵的第一步。通常,質量檢查人員和團隊負責人會在心中確定質量目標,并圍繞此目標構建分析的配置。為了提高安全性,例如,將啟用與安全性相關的檢查器以及諸如CERT C的安全編碼標準。
然后,開發人員根據團隊制定的政策和產品的成熟度,調查并修復發現的警告。正如我在上一篇文章中所解釋的,在一個未開發的項目中,大多數警告將被調查并確定優先級,因為代碼量相對較小,而在成熟階段的后期,過濾和優先級將更加嚴格,因此開發人員只能處理真正的嚴重警告。無論哪種情況,過程都是相同的。
響應靜態分析警告進行更改后,將代碼檢入版本控制中,并在下一次構建期間再次進行分析。簡短而緊湊的反饋循環可在編寫和修改代碼時極大地提高代碼的質量和安全性。
集成到構建系統和持續集成管道中
靜態分析工具和構建系統的主要集成點是通過命令行界面。以這種方式使用的靜態分析的行為有點像編譯器在構建結構中的行為。文件的處理方式相同,盡管輸出不是可執行文件,而是存儲在存儲庫中的結果,并按文件和內部版本號進行索引。
例如,使用Parasoft C/C++test,可以由Parasoft的報告和分析系統(Parasoft DTP)處理,該系統既是存儲庫又是分析結果的智能引擎。這項分析和附帶的信息將反饋給每個開發人員的IDE,并可以通過Parasoft的網絡門戶向經理和團隊負責人提供。
在上圖中,您將看到我們如何將Parasoft靜態分析工具集成到持續集成管道中。 Parasoft DTP是用于警告的中央存儲庫和分析引擎。
將靜態分析集成到日常工作流程中,既需要開發人員直接在IDE中訪問靜態分析,又需要執行項目范圍的分析、報告和管理的能力。直接支持開發人員使用代碼的地方以及團隊負責人和經理使用他們自己的趨勢信息和報告訪問相同的信息,這對于在項目中完全利用靜態分析至關重要。
渴望更多?稍后再返回本系列的下一部分。我將解釋如何處理靜態分析警告積壓和技術債務。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn