Klocwork — 符合功能安全要求的自動化靜態測試工具
Klocwork工具應用靜態分析技術,可實現對C、C++、Java等程式碼的全面靜態分析。檢查問題種類既包含軟體質量和安全缺陷相關,也可實現多種語言編碼規則規範的檢查。通過使用Klocwork,可以幫助開發人員能夠在開發早期檢測到程式可能存在的缺陷和漏洞,在開發過程中即可提升程式碼安全可靠性,確保程式碼質量可控。
功能及特點
在開發階段使用Klocwork開展靜態分析,立足程式安全性角度進行測試,有利於儘早發現和修復安全性相關問題,並確保程式碼符合國際公認的編碼標準。
•主要功能
♦DevSecOps:Klocwork可以整合到CI/CD工具、容器、雲服務等,便於實現自動化測試流程
♦編碼規範檢查:支援CWE、OWASP、CERT、ISO/IEC TS 17961、MISRA C 2012、AUTOSAR C++等多種常見行業規範的檢查
♦缺陷檢查:SQL注入、溢位、可靠性低等問題
♦程式碼bug檢查:空指標解引用、記憶體洩漏等問題
•與開發過程整合
Klocwork在設計時首先考慮了CI/CD,方便使用者將Klocwork分析程式碼作為CI/CD一部分,可以做到:
♦差異分析:通過Klocwork Server上的資料,在整個專案分析完成後,可以只分析更改的檔案,提供差異分析結果,節約分析時間。
♦易於自動化:Klocwork工具有通用的命令列介面,Klocwork檢測結果資料可以通過REST API訪問,所有輸出格式都使用標準格式,例如XML、JSON和PDF等。
♦容器化構建:Klocwork支援在容器化和雲構建系統中執行,為使用內部或外部的雲服務進行程式碼分析提供靈活的操作。
•專案管理和報告輸出
Klocwork Portal是一個集中儲存分析資料、度量和分析配置的工具,支援不同人員通過web瀏覽器訪問。Klocwork Poratl介面是高度可定製的,允許開發人員、管理人員和其他相關人員操作:
♦配置全域性或特定於某專案的規則
♦控制不同人員的訪問許可權
♦檢視專案質量的趨勢和度量資料
♦生成合規的報告
♦基於嚴重程度、位置和生命週期確定缺陷優先順序
♦區分新問題和遺留問題
•面向開發人員
Klocwork與開發工具無縫整合,將缺陷檢測流程提前到開發階段,提高了開發人員的產出效率及質量:
♦無需使用者配置編譯器:Klocwork為數百個編譯器和交叉編譯器提供了開箱即用的支援,可以方便地與編譯器整合。
♦與IDE整合:支援常見IDE的外掛(VS,Eclipse,IntelliJ等),可直接整合到IDE中,程式碼修改後,在IDE外掛提供差異分析結果。
♦詳細的幫助文件:缺陷和編碼違反是根據風險的嚴重程度確定的,對於每個缺陷和編碼違規,可以檢視幫助文件,為理解缺陷和違規提供幫助。
♦自定義規則:為了更高階的需求,工具提供了使用者自定義規則的介面,支援使用者根據實際需要自定義檢查規則。
♦架構分析:可與Structure 101整合,使使用者瞭解專案架構,提高專案可維護性。
支援的編碼規範應用行業
♦汽車行業
♦能源技術行業
♦醫療服務行業
♦嵌入式開發
認證
Klocwork支援的功能安全標準:ISO 26262(汽車)、IEC 61508(一般工業)、EN 50128(軌交)、IEC 62304(醫療)