Klocwork软件源代码缺陷和安全漏洞分析工具

Klocwork软件是Rogue Wave公司基于专利分析引擎技术开发的一款软件源代码缺陷和安全漏洞分析工具。Klocwork综合应用了多种程序分析领域最先进的技术,是最为出色的以静态算法分析运行时缺陷的软件。Klocwork支持多种常用的开发语言,能够分析C、C++、C#和Java代码;能够发现的软件缺陷种类全面,既包括软件质量缺陷检测、安全漏洞检测、可维护性方面的检测,还支持行业编码规范检查;对软件质量进行评估,自动生成各种质量方面的统计报表;能够从不同纬度对软件进行各种度量;能够提供与多种主流开发IDE环境的集成;能够分析超大型软件(上千万代码行)。

特点

  • 缺陷检测能力强

    使用Klocwork源代码质量分析工具,再结合持续集成的自动化流水线,无需编写测试用例、无需执行软件,就可以对软件的所有执行路径进行分析,找出代码缺陷。Klocwork的分析能力是跨模块的,能够对复杂的深度的逻辑关系和调用进行分析,发现埋藏于深层次的,通过人工审查和测试难以发现的软件缺陷。

    Klocwork能够发现的缺陷类型多达200多种,能够分析的缺陷类型多而全面。

  • 分析性能高

    Klocwork源代码质量分析工具与其他同类工具相比,具有分析速度快、分析软件规模大、方便搭建持续集成环境的特点。

  • 降低缺陷修复、管理成本

    Klocwork源代码质量分析工具的应用,将会通过实施第一时间发现缺陷和安全漏洞的理念,大大降低缺陷修复、管理的成本。

  • 提高软件质量和安全性

    Klocwork源代码质量分析工具将通过检测造成软件故障的缺陷和漏洞,提高软件的质量、可靠性和安全性。这将大大降低我们的产品在应用中出现故障的概率,从而提高我们软件开发的能力和行业地位。

  • 在开发队伍中推广安全代码最佳实践

    Klocwork源代码质量分析工具中涵盖了详尽的软件缺陷和安全漏洞知识描述,在进行软件自动化分析的同时,为用户在编码风格上提供最佳的实践指导,提高开发人员对于软件代码缺陷和安全漏洞严重性的理解认识。

  • 增强QA的业务能力

    通过Klocwork源代码质量分析工具,发现软件的缺陷,把QA人员从繁重的代码缺陷中解脱出来,QA人员可以将工作重点放在真正的业务目标――开展针对软件需求的质量工作和所有只能通过动态运行环境和产品环境才能发现的软件问题,而把代码缺陷的问题交给klocwork源代码质量分析工具去做。

功能

  • 软件缺陷与安全漏洞检测

    Klocwork软件缺陷与安全漏洞检测能够进行多角度的软件缺陷和安全漏洞分析,能够分析C/C++、Java、C#代码,生成代码问题报告,缺陷类型根据编程语言的不同而不同,其中针对C/C++语言提供280多种检查器、对Java语言提供近200种检查器、对C#语言提供近40种检查器。

  • 行业规范缺陷检测

    Klocwork行业规范缺陷检测,除了默认的检查规则之外还支持如下行业规范检查:OWASP 2013 A1、A2、A3、A4、A5、A6、A7、A10、CWE(美国国土资源部资助)、CERT(CMU SEI 网络安全研究和防范)、STIG(DISA国防信息系统机构,关于计算机软硬件的安全防范指南)、PCI(金融行业支付卡安全标准)、MISRA C 2004、MISRA C++ 2008、MISRA 2012。

  • 自定义检查器

    Klocwork自定义检查器,在Klocwork产品本身没有您需要的组织自己独特的编码标准、安全策略或质量目标时,可以使用Klocwork扩展接口进行规则定制。Klocwork提供基于抽象语法树(KAST)结构的API接口,对抽象语法树的访问能力使得接口的定制能力非常强大。您可以通过访问KAST节点和关联属性的方式来描述您的新规则,描述方式简便、易于使用和维护。对于Java程序,还提供基于注解的缺陷规则扩展方式,能够通过注解规则描述Java Class的丰富语义,达到扩展检测范围的目的。

  • 软件度量分析

    Klocwork软件度量分析,基于实际从软件源代码采集得到的信息,直接帮助管理者理解、预测和指导公司在软件安全和质量方面的成长。Klocwork随产品发布100多种关于文件、类、和函数/方法的代码度量,包括了从McCabe复杂度、Halstead程序度量、代码行数、继承数、循环数等各种基本度量。客户还可以根据自己的质量目标,任意组合这些基本度量进行运算生成复合度量。

  • 软件质量趋势分析

    Klocwork质量趋势分析展示开发过程中代码问题的分布和发展趋势,趋势分析还可以根据时间/构建版本进行统计。

    Klocwork分析完自动形成统计报表,宏观上可以查看最近几个项目在一段时间内缺陷的走势,对于走势一直偏高的项目即可具体分析采取应对措施。尽早的发现问题解决问题。从微观上可以追踪一个项目,柱状图则可以查看每次构建后问题是上升了还是下降了,时时监控问题个数;饼图可以查看每一类问题所占总问题的比例方便我们具体修改问题。

  • IDE集成插件

    Klocwork IDE集成插件,与众不同,能够集成到开发人员的开发环境中去。通过集成,在开发人员的桌面上即可自动进行代码的检查,您可创建更为优秀的软件并通过在开发过程早期捕捉到潜在的问题而降低开发成本。能够支持的IDE环境包括:Eclipse、Wind River Workbench、QNX Momentics、Microsoft Visual Studio、Android Studio、IBM Rational Application Developer for WebSphere、JetBrainsIntelliJ IDEA。

  • IDE代码重构

    Klocwork为针对Visual Studio和Eclipse这两类IDE的C/C++开发人员提供代码重构的功能。通过在IDE中点击右键可以打开代码重构选项,通过使用代码重构,用户无需访问不同的视图或窗口就可以快速地估计代码的状态、优化代码的设计。