Polyspace
Polyspace是靜態程序分析的工具,利用抽象释义的方式進行大規模的分析,可以偵測C語言、C++或是Ada程式的原始碼中,是否有特定類型的執行期錯誤,或是證明沒有這類的錯誤。此工具也可以檢查原始碼是否符合特定的代碼標準(如MISRA C/C++, SEI CERT C/C++(CWE), JSF AV C++, AUTOSAR C++)[3]。 常見用法Polyspace可以檢查原始碼,確認是否有潛在的執行期錯誤RTE(Run Time Error),像是算術溢出、缓冲区溢出、除以零、矩陣index溢位以及其他可能發生的錯誤。軟體開發者以及品質保證主管可以利用這些資訊(顏色)來識別程式中哪些部份可能有錯(橘色)、絕對有問題(紅色)、絕對沒問題(綠色)、無法執行dead code(灰色),並依其嚴重程式來選擇哪些要優先處理。程式碼的其他部份會標示為尚未證明的部份,可以再個別進行代碼評審[4][5]。 Polyspace亦可檢查Coding Standard,如MISRA C/C++、SEI CERT C/C++、AUTOSAR C++之類的程式碼標準及指南會試著提昇程式的品質、可攜性及可靠度。Polyspace會確認C及C++的原始碼是否符合這些程式碼標準中的特定一部份規則[6]。 另外Polyspace亦可進行Code Metrics的量測,如註解密度(Comment density)、循環複雜度(Cyclonmatic Complexity)等 其他功能Polyspace產品系列也包括了Polyspace Bug Finder及Polyspace Code Prover。工具的設計上Code Prover是基於Bug Finder上來疊加功能的,亦即Code Prover包含Bug Finder的功能。
相關條目參考資料
外部連結
|