市场上静态代码扫描工具百花齐放,种类繁多,本文通过相关云厂商咨询、互联网峰会资料查阅和主流技术网站检索得出初步结论,和大家分享讨论。 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等服务中,方便随时查看代码质量分析报告; |
GMT+8, 2024-12-26 22:12 , Processed in 0.049250 second(s), 19 queries , Gzip On.
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.