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(醫療)