一些代码静态检查工具的简介

1、KLOCWORK:

                        适用语言:C, C++, JAVA

                      是否开源:否,

                      是否需要编译:是

                      作用:代码静态检查工具。用于高效检测软件缺陷和安全隐患,提供优秀的静态源代码分析解决方案。软件号称是业界领导者,能够快速、准确分析大规模(几百万,甚至几千万行)、高复杂度代码的工具。能够自动化检测和解决C/C++、Java等源代码中的严重、安全和规范类的缺陷。通过对构建环境、源代码和开发过程给出一个完整的分析,最终实现高质量软件。

2、COVERITY:

                    适用语言:C, C++, JAVA,PYTHON,java scrip

                      是否开源:否,

                      是否需要编译:是

                      作用:用于高效检测软件缺陷和安全隐患,提供优秀的静态源代码分析解决方案。软件号称是业界领导者,是第一个能够快速、准确分析大规模(几百万,甚至几千万行)、高复杂度代码的工具。内部采用Prevent SQS(软件质量系统)架构方法,能够自动化检测和解决C/C++、Java等源代码中的严重缺陷。通过对构建环境、源代码和开发过程给出一个完整的分析,最终实现高质量软件。

3、FORTIFY:

                    适用语言:C, C++, JAVA,PYTHON,java scrip

                      是否开源:否,

                      是否需要编译:是

                      作用:代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。

4、CPPTEST:

    适用语言:C, C++

                    是否开源:否,

                    是否需要编译:是

                    作用:Parasoft ®  C/C++test  TM –针对 C/C++ 开发的综合性代码质量保障工具,使用C++test经时间验证的重要最佳实践—例如静态分析,全面的代码审查,运行时错误检测,集成覆盖率分析的单元测试和组件测试—能够在开发周期的开始阶段,自动地在开发者的桌面上完成。能够通过命令行模式自动化地执行回归和持续集成测试,为监测和分析质量趋势提供数据。

5、TOX

  适用语言:PYTHON
                  是否开源:是
                  是否需要编译:否
                  作用:TOX是一个通用的virtualenv管理和测试命令行工具,TOX的目标是提供最先进的自动化打包,测试和发布的Python软件的工具,可以用于控制台或者基础到你的持续构建平台。

                  支持功能:

                 1)、检查你的包被正确地安装不同版本的Python和解析器
                 2)、在每个环境中运行你的测试,配置测试工具的选择
                 3)、作为一个持续集成服务器的前端,大大降低了测试工作量。

6、Flake8

  适用语言:PYTHON
                  是否开源:是
                  是否需要编译:否
                  作用:Flake8是Python代码规范利器,他封装了三个工具:1)PyFlakes:静态检查Python代码逻辑错误的工具;2)pep8: 静态检查PEP 8编码风格的工具;3)Ned Batchelder’s McCabe script:静态分析Python代码复杂度的工具。flake8综合了上述三个工具的功能,还提供了扩展开发接口。
                  主要特征:
                  1)包含这行文件将被忽略:#flake8: noqa
                  2)结尾包含#noqa注释的行将不发布告警
                  3)GIT和Mercurial钩子
                  4)McCabe复杂度检查器
                  5)可以通过flake8.extension入口点扩展
                  Flake8的下载地址:https://pypi.python.org/pypi/flake8

7、GO LINT:

  适用语言:GO
                  是否开源:是
                  是否需要编译:否
                  作用:编码规范类检查

8、GO VET:

  适用语言:GO
                  是否开源:是
                  是否需要编译:否
                  作用:检查源代码并报告可疑结构

9、SONAR:

  适用语言:C, C++, JAVA,PYTHON,java scrip
                  是否开源:是
                  是否需要编译:否
                  作用:Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。
                 开源中国代码质量管理系统 -> http://sonar.oschina.net/
                主要特点:
                •代码覆盖:通过单元测试,将会显示哪行代码被选中
                •改善编码规则
                •搜寻编码规则:按照名字,插件,激活级别和类别进行查询
                •项目搜寻:按照项目的名字进行查询
                •对比数据:比较同一张表中的任何测量的趋势

10、Scalastyle:

  适用语言:Scala
                  是否开源:是
                  是否需要编译:否
                  作用:Scalastyle是个简单易用的code style检测工具,非常轻巧,有助于团队风格一致。
                  1)目前有63条规则,主要集中在代码格式,如文件行数、方法行数是否过多,是否指定了返回值,圈复杂度是否高于阈值等
                  2)有些规则和使用习惯不一致,如文件首必须有license说明,if后必须有花括号等;
                  3)使用很简单,一个配置,一行命令就可以,参见http://www.scalastyle.org/sbt.html
                  4)可以和CI结合
                  建议:因为侧重格式方面,因此可以有条件使用,即关闭若干与习惯严重不符的规则,配合另外的能够做安全检查的工具;

你可能感兴趣的:(C语言,C++语言,Python)