為何您需要高品質的程式碼分析驗證工具來為您的程式品質把關?
隨著系統複雜度增加,軟體程式碼品質及執行階段錯誤(Run-Time Error, RTE)的分析與驗證愈來愈重要,一旦發現RTE,導致產品交貨延期、產品召回、商譽受損等後果將非常嚴重。因此能事先分析檢驗並發現程式碼錯誤,已成為現在許多工業標準(如DO-178, ISO26262,IEC61508等)要求的必要技術。
不過一般動態分析工具所仰賴有限的測試案例,難以完整預測系統上線之後的所有操作可能性,需要有高品質的程式碼分析以及軟體驗證工具才能完整覆蓋。
Polyspace是什麼?
Polyspace產品是MathWorks公司推出的程式碼分析和驗證工具,能以突破性的方法檢測設計階段之軟體錯誤,不僅可以幫助您快速地找到程式碼中的錯誤(Bug),更具獨特的程式碼驗證功能,可提供程式碼品質的相關度量資訊。除了能確保程式碼佈署到硬體之前,程式中絕對不會出現RTE。
更重要的是,MathWork工具開發,能支援相關產業技術標準例如DO-178, ISO26262,IEC61508等安全標準,是市場上其他程式碼分析驗證工具。
Polyspace Bug Finder, Polyspace 程式碼查錯器
使用覆蓋完善的程式碼分析和驗證工具進行程式品質分析,及早發現設計錯誤及嵌入式軟體執行階段錯誤
Introduction
Polyspace程式碼查錯器(Polyspace Bug Finder),可標識出原始程式碼中執行階段錯誤(run-time)、資料溢出(data flow)問題以及其他在C及C++嵌入式軟體中的錯誤及缺陷。透過使用靜態程式碼分析(Static code analysis)方式,Polyspace程式碼查錯器能分析軟體控制、資料溢出以及跨階段行為的錯誤檢測,協助在開發流程的早期及早分散及修正錯誤。Polyspace程式碼查錯器檢測的方法是遵照程式碼編碼的標準,如MISRA-C, MISRA-C++, JSF++,以及其他習以常使用的程式碼規則來進行檢測,隨後產生結果報表,報表中會標識出所發現的錯誤(bugs)、違反編碼規則(code-rule violations)以及程式碼品質陣列如循環複雜度(cyclomatic complexity)等。Polyspace程式碼查錯器可以搭配Eclipse™ IDE使用,並與其他現有環境系統相整合。
就自動產生程式碼來說,Polyspace的結果可被追溯回到Simulink的模型、dSPACE® TargetLink® blocks, and IBM® Rational® Rhapsody® 圖表。
Polyspace程式碼查錯器支援產業標準,包括IEC安全驗證套裝組( IEC Certification Kit (for IEC 61508 and ISO 26262)) 和DO品質驗證套裝組(DO Qualification Kit (for DO-178)),現在也支援Ada語言以及 MISRA C:2012。
本工具箱使用需搭配MATLAB。
Key Features
- 可偵測標識出程式碼中的執行階段錯誤(run-time)、資料溢出(data flow)問題以及其他在C及C++嵌入式軟體中的錯誤及缺陷
- 可對大量的程式碼基礎進行快速分析
- 完全遵照程式碼編碼標準來進行檢測,如MISRA-C: 2004, MISRA-C++: 2008, JSF++,以及其他慣常用的程式碼規則等。
- 程式碼循環複雜度及其他程式碼陣列(metrics)
- 可與Eclipse等開發環境整合
- 可回溯對Simulink模型進行程式碼驗證
- 能取得Polyspace程式碼驗證器(Polyspace Code Prover)
- 提供低假陽(low false-positive )結果的偵錯功能
- 支援 MISRA C:2012程式碼規則驗證
- R2015b新增用於檢測程式碼漏洞和動態顯示結果的安全檢查功能。
- R2017a 可針對MISRA C:2012 Amendment 1和新的加密常式執行程式碼進行檢驗。
更多相關工具
Polyspace Code Prover™ (Polyspace程式碼驗證器)
DO Qualification Kit (DO品質驗證套裝組:針對DO-178)
IEC Certification Kit (IEC安全驗證套裝組:針對 ISO 26262 及IEC 61508)
實際使用案例