讓我們從顯而易見的事情開始:靜態分析本身并不是靈丹妙藥。它不能保證復雜的軍事嵌入式應用程序中的高代碼質量、安全性或安全性。靜態分析也不能確保您的應用程序滿足為程序定義的功能要求。
更令人困惑的是靜態分析工具之間缺乏平等,盡管其中許多工具非常相似,因為它們使用與引擎相同的商業解析技術。盡管他們的分析很膚淺,但其中許多至少能夠提供有關開發人員代碼的高級質量的快速而骯臟的反饋。
我不想深入探討靜態分析工具的所有差異。很簡單,核心差異通常在于解析技術、用戶界面以及它們與鏈中其他工具的連接。我真正的目標是談談為什么你應該關心靜態分析。
靜態分析可自動執行代碼審查過程,無需編譯、鏈接和執行代碼即可測量代碼的質量。這在歷史上是一個漫長、昂貴和勞動密集型的過程中節省了時間和精力。靜態分析會自動檢查代碼的樣式、命名約定和語言限制。更好的工具突出了代碼中的缺陷,并使開發人員能夠快速修復問題區域并再次運行分析。作為此過程的一部分,靜態分析可以通過確保開發團隊遵守特定的公司或行業認可的編碼標準(如MISRA或JSF編碼標準)來提高代碼質量和可移植性。
更復雜的工具提供了更大的分析深度,并使開發人員能夠理解代碼的復雜區域。他們還報告有價值的細節,如代碼復雜性以及數據和控制流。更有效的工具在高度抽象中呈現其深入分析的結果,這使得代碼更易于理解。此外,功能更強大的工具可與更復雜的集成開發環境無縫互操作,從而加快整個開發生命周期。
當今的軍事應用需要支持 ARINC 653 或FACE等架構標準,以提高代碼的可移植性和可重用性。高質量的靜態分析工具集為快速構建更高質量的代碼提供了堅實的基礎,這些代碼更具可移植性、可維護性、安全性。它應該是整個過程中使用的工具。但是,靜態分析只是解決常見問題集的一種工具。有效的質量流程還需要利用諸如雙向需求可追溯性、動態分析、結構覆蓋分析、單元、集成和系統級測試等技術,無論是在主機開發平臺上,還是在可能的情況下,在目標硬件上。
審核編輯:郭婷
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304809 -
應用程序
+關注
關注
37文章
3265瀏覽量
57677
發布評論請先 登錄
相關推薦
評論