Klocwork代码静态检查实践

本文介绍了Klocwork作为代码静态检查工具在实际项目中的应用,包括其功能特性,如支持多种语言、全面的缺陷检测和度量分析。文章详细阐述了推广Klocwork的四个步骤:定制检查规则、实现每日增量检查、全量检查以及在研发中心的推广,以此提升代码质量和团队协作效率。
摘要由CSDN通过智能技术生成

Klocwork代码静态检查实践

笔者曾用过两年多的Klocwork,它通过静态分析的方法,自动检测代码内存泄漏、空指针引用、缓冲区溢出、数组越界等运行错误,相比一些免费的检查工具功能强大很多,对于项目代码质量的改进作用还是比较明显的。这里简单总结一下推广经验。

1. Klocwork工具介绍

Klocwork软件是Klocwork公司基于专利技术分析引擎开发的,综合应用了多种近年来最先进的静态分析技术。与其它同类产品相比,Klocwork产品具有很多突出的特征:

1)Klocwork支持的语言种类多,能够分析C、C++和Java代码;

2)能够发现的软件缺陷种类全面,既包括软件质量缺陷,又包括安全漏洞方面的缺陷,还可以分析对软件架构、编程规则的违反情况;

3)能够分析软件的各种度量;

4)支持SVN、Git等代码管理工具;

5)能够分析大小型软件,笔者所在的项目就是有上千万行代码的;

6)支持检查规则自定义;

7)可以与Pclint、行覆盖率、复杂度等现有的CI工具一起

Klocwork 介绍 Klocwork - 源代码缺陷自动分析工具概述:Klocwork 软件是 Klocwork 公司基于专利技术分析引擎开发的,综合应用了多种近年来 最先进的静态分析技术,是出色的软件静态分析软件。Klocwork 产品与其它同类产品相比, 具有很多突出的特征:Klocwork 支持的语言种类多,能够分析 C、C++和 Java 代码;能够发 现的软件缺陷种类全面,既包括软件质量缺陷,又包括安全漏洞方面的缺陷,还可以分析对软 件架构、编程规则的违反情况;软件分析功能全面,既能分析软件的缺陷,又能进行可视化的 架构分析、优化;能够分析软件的各种度量;能够提供与多种主流 IDE 开发环境的集成;能 够分析超大型软件(上千万代码行)。主要功能: 缺陷检测提供多角度的各种缺陷类型的分析。自动化的缺陷检测功能易于使用,定制灵活,具有图 形化的构建和报表管理图形界面,拥有业界领先的消息过滤器,极具柔性的配置,和强大的学 习调整知识库;Klocwork 能够分析 C/C++和 Java 代码,生成代码问题报告,能够发现的缺陷 类型举例。(详细参见附录): C/C++缺陷类型样例 空指针释放 内存管理问题(如:内存泄漏) 数组越界 未初始化数据使用 编码风格问题(如:在条件中赋值) Java 缺陷类型样例 效率错误(如:空的 finalize 方法) 可维护性问题(如:空的 catch 从句) 可靠性问题(如资源泄漏) 安全漏洞检测Klocwork 确信软件安全性是软件质量中一个重要的、并越来越受重视的方面。同样的, 所有的 Klocwork 安全漏洞分析是基于市场领先的缺陷检测能力,从原来的缺陷检测分离出来 单独的安全漏洞检测和违反推荐的安全代码最佳实践的缺陷检测。 能够检测到的安全漏洞类型 举例(详细参见附录) C/C++安全漏洞分类 访问控制缺陷 缓冲区溢出 DNS 欺骗 忽略返回值 注入缺陷 不安全的存储 未经验证的用户输入 Java 安全漏洞分类 拒绝服务 注入缺陷(如:SQL 注入、进程注入等) 未经验证的输入 移动代码安全 有漏洞的会话管理 跨站点脚本 出错处理不当
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huver2007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值