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


應用行業(yè)
· 汽車行業(yè)
· 能源技術(shù)行業(yè)
· 醫(yī)療服務行業(yè)
· 嵌入式開發(fā)
認證
Klocwork支持的功能安全標準:ISO 26262(汽車)、IEC 61508(一般工業(yè))、EN 50128(軌交)、IEC 62304(醫(yī)療)
