主流代码扫描静态分析工具

市场上静态代码扫描工具百花齐放,种类繁多,本文通过相关云厂商咨询、互联网峰会资料查阅和主流技术网站检索得出初步结论,和大家分享讨论。

1、spotbugs/findbugs(java)

SpotBugs (开源)是一个使用静态分析来查找 Java 代码中的错误的程序。它是自由软件,根据GNU 宽通用公共许可证的条款分发。
SpotBugs 是FindBugs(现在是一个废弃的项目)的一个分支,在其社区的支持下从它停止的那一点开始。详情请查看官方手册。

2、TScanCode(C/C++、C#、Lua)

TscanCode(腾讯开源)是一款静态代码扫描工具,TscanCode旨在助力开发与测试人员从代码层面挖掘问题,将那些长期困扰项目的诸如空指针宕机等问题,扼杀于萌芽阶段。支持用户根据不同需求自定义配置检查项,有极强的扩展性和可维护性。平均扫描速度10W行/分钟。

3、pclint(C/C++)

由Gimpel Software公司提供(付费)。X PC-lint 是一个强大的静态分析工具,它将检查您的 C/C++ 源代码并发现错误、故障、不一致、不可移植的结构、冗余代码等等。它查看多个模块,因此享有编译器所没有的视角。

4、Cppcheck(C/C++)

支持图形界面和命令行;Cppcheck是 C/C++ 代码的静态分析工具(开源) 。它提供独特的代码分析来检测错误,并专注于检测未定义的行为和危险的编码结构。目标是减少误报。Cppcheck 旨在能够分析您的 C/C++ 代码,即使它具有非标准语法(在嵌入式项目中很常见)。

5、Klocwork(C、C++、C#、Java、JavaScript )

国内使用较广泛的分析工具(付费);适用于 C、C++、C#、Java、JavaScript 和 Python 的Klocwork 静态代码分析和SAST工具可识别软件安全性、质量和可靠性问题,帮助强制遵守标准。

6、Coverity Prevent(C/C++、C#、JAVA)

提供多种辅助工具,专长于最准确的找到最严重和最难检测的缺陷(付费)。

7、ESLint(JavaScrip、NodeJs)

ESLint 是一个开源的 JavaScript 代码检查工具,由 Nicholas C. Zakas 于2013年6月创建。代码检查是一种静态的分析,常用于寻找有问题的模式或者代码,并且不依赖于具体的编码风格。对大多数编程语言来说都会有代码检查,一般来说编译程序会内置检查工具。

8、Flake8(Python)

它综合以下三者的功能,在简化操作的同时,还提供了扩展开发接口。(开源
PyFlakes:静态检查Python代码逻辑错误的工具。
pep8: 静态检查PEP 8编码风格的工具。
Ned Batchelder’s McCabe script:静态分析Python代码复杂度的工具。

9、Pylint(Python)

Pylint 是一种检查 Python 代码错误、尝试执行编码标准并查找代码异味的工具(开源)。它还可以查找某些类型错误,可以推荐有关如何重构特定块的建议,并可以为您提供有关代码复杂性的详细信息。

10、PhpMetrics(PHP)

PhpMetrics 分析您的 PHP 代码并提供 HTML、JSON、CSV ......关于复杂性、依赖关系、耦合、违规等的报告。(开源

11、golangci-lint(go)

GolangCI-Lint是一个lint聚合器(开源),它的速度很快,平均速度是gometalinter的5倍。它易于集成和使用,具有良好的输出并且具有最小数量的误报。而且它还支持go modules。最重要的是免费开源。

12、sonarqube(多种)

sonar是一款静态代码质量分析工具(开源),支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告;

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值