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