Klocwork工具应用了静态分析技术,可实现对C、C++、Java、C#、python等代码的全面静态分析。检查问题种类既包含软件质量和安全缺陷相关,也可实现多种语言编码规则规范的检查。通过使用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(医疗)