静态代码分析工具列表

这是用于静态程序分析的著名工具的列表(程序分析是代码分析的同义词)。

静态代码分析工具

工具 最新发布 免费软件 支持的语言 笔记
艾达 C / C ++ / C# / Objective -C JVM JavaScript /打字稿 .net / vb.net Python 其他语言
adacontrol 2021-09-21(1.22R15) 是的; GPLV2 艾达 用于控制ADA代码中各种实体或编程模式的发生的工具,用于检查编码标准,执行与安全有关的规则以及对各种手动检查的支持。功能自动修复违规行为。
Apache Yetus 2020-12-17 (0.13.0) 是的; ASL 2 C,C ++ 爪哇 Python PerlRubyShellXML 构建和释放工具的集合。其中包括用于执行完整和部分/补丁的CI构建的“预称”模块,该模块通过其他工具作为可配置报告的一部分提供代码静态分析。内置支持可以使用插件扩展。
阿斯特雷 2021-10 (21.10) 不;所有权 C 通过抽象解释找到所有潜在的运行时错误和数据竞赛,可以证明它们的缺失,并可以证明功能性主张;针对安全至关重要的C代码(例如航空电子和汽车)量身定制。包括Misra检查器。
斧头包豪斯套房 不;所有权 艾达 C,C ++,C# 爪哇 静态代码分析工具套件,该工具套件进行了各种分析,例如体系结构检查,接口分析, MISRA检查和克隆检测。
爆炸(退休) 2015-10-30 (2.7.3) 是的; ASL 2 C 基于懒惰抽象的C程序的开源软件模型检查器(后续项目是Cpachecker。)。
2023-11-28 (17.0.6) 是的; ASL 2带有LLVM例外 C,C ++,Objective -c 包括静态分析仪的开源编译器。从3.2版开始,该分析仪包含在XCode中。
球球 2021-09-06 (1.1.1) 是的; GPLV2 C 开源源代码模式匹配和转换。
代码DX 不;所有权 C,C ++,C# Java, JSPScala JavaScript vb.net Python php,rails,ruby,xml 软件应用程序漏洞相关性和管理系统,使用多种SASTDAST工具以及手动代码评论的结果。可以计算循环复杂性。
Codepeer 2021-05-07 (21) 不;所有权 艾达 一种高级静态分析工具,可检测ADA程序中潜在的运行时逻辑错误。
Coderush 2021-05-04 (20.2.11) 不;所有权 C# JavaScript vb.net ASP,HTML,XML,XAML 视觉工作室的插件,可提醒用户违反最佳实践。
代码 2023-10-13

(6.3.5)

不;所有权 C,C ++,C#,Objective -c Java, Groovy ,Scala JavaScript,打字稿 vb.net Python Swift,Go,Php,Ruby 代码的行为分析。有助于确定,优先级和管理技术债务。衡量开发人员团队的组织方面。自动拉请求集成。
codeql 2023-02-07(CLI:2.12.2) 不;所有权 C,C ++,C# 爪哇,科特林 JavaScript,打字稿 。网 Python 去,红宝石 一个代码搜索工具,重点是查找软件错误。搜索模式是用查询语言编写的,可以搜索支持语言的AST和图形(CFG,DFG等)。可用于Visual Studio的插件。
Conqat (退休) 2015-02-01 是的; ASL 2 艾达 C#,C ++ 爪哇 JavaScript abap 连续质量评估工具包可以灵活地配置质量分析(体系结构符合,克隆检测,质量指标等)和仪表板。
掩护 2023-04-29 (2022.12) 不;所有权 C,C ++,C#,Objective -c 爪哇 JavaScript,打字稿 Python Ruby,php 用于安全和质量问题的多语言工具。支持合规标准( MisraISO 26262等)。免费用于开源项目。
Eclair 2021-07-15 (3.11) 不;所有权 C,C ++ 用于软件验证的多语言工具。应用程序范围从编码规则验证到自动生成测试柜,到缺乏运行时错误或产生反例的证明以及基于代码匹配者和基于句法和语义条件的代码匹配者和重写者的规范。支持合规标准( MISRA ,嵌入式C编码标准等)。
CPACHECKER 2022-01-24 (2.1.1) 是的; ASL 2 C 用于执行路径检查的可配置软件验证工具。
CPPCHECK 2023-09-10 (2.12) 是的; GPLV3 C,C ++ 开源工具检查几种类型的错误,包括使用STL 。正在添加Misra支持。
依赖 2023-03-01 (2023.1) 不;所有权 C,C ++ 通过分析和可视化代码依赖性,通过进行设计规则,进行影响分析和比较代码的不同版本来简化管理复杂的C/C ++代码库。
cpplint 2020-07-29 是的; cc-by-3.0 C ++ 一种开源工具,可检查是否符合Google样式指南的C ++编码指南。
波动 2001 不;所有权 ADA95 C 用于验证程序数值属性的抽象解释器
frama-c 2022-06-21 是的; LGPL v2.1BSDQPL C C具有多个分析仪和所有人共有的规范语言的C的开源可扩展分析框架。包括基于抽象解释,演绎验证和运行时监视的分析。
Grammatech Codesonar 2020-06-01 (5.3) 不;所有权 C,C ++,Objective -c 爪哇 缺陷检测(缓冲区超支,内存泄漏等),并发和安全检查,体系结构可视化和软件指标。
海湾合作委员会 2023-4-26 (13.1) 是的; GPLV3+带有GCC运行时库例外 C 用-FANALYZER标志编译(可从GCC 10获得)启用静态分析仪功能
HCL安全应用程序 2020-12-01 (10.0.3) 不;所有权 C,C ++ Java,JSP JavaScript 。网 Python ColdFusion,ASP,PHP,Perl,Visual Basic 6,PL/SQL,T-SQL,COBOL 分析源代码以确定安全漏洞,同时将安全性测试与软件开发过程和系统集成在一起。
螺旋QAC 2023-04 (2023.1) 不;所有权 C,C ++ 以前是PRQA QA·C和QA·C ++,C/C ++的深层静态分析,用于质量保证和指南/编码标准执法,并提供MISRA支持。
推断静态分析仪 2021-03-26 (1.1.0) 是的;麻省理工学院 C,C ++,Objective -c 爪哇 针对null指针问题,泄漏,并发问题和Facebook移动应用程序的API使用情况。在GitHub上可用作为开源。有时被称为Facebook推断。
Imagix 4D 2020-10-01 (10.1.0) 不;所有权 C,C ++ 爪哇 Windows和Linux版本。
Kiuwan 2020-07-22 不;所有权 C,C ++,C#,Objective -c Java,JSP JavaScript vb.net ABAP,COBOL,PHP, PL/SQLT-SQL ,SQL,Visual Basic, Android 软件分析端到端平台用于静态代码分析和自动代码审核。它涵盖了缺陷检测,应用程序安全和IT风险管理,并具有增强的生命周期和应用治理功能。支持20多种语言。
Klocwork 2023-04-04 (2023.1) 不;所有权 C,C ++,C# 爪哇 JavaScript Python 科特林 提供安全漏洞,标准合规性(MISRA, ISO 26262等),缺陷检测和建立趋势分析
LDRA测试床 2021-05-07(v9.8.6) 不;所有权 ADA83,ADA95 C,C ++ 汇编器(德克萨斯州的Freescale,Intel) 执行静态分析的软件分析和测试工具套件,标准执行(例如MISRA C/C ++),动态分析,单位测试和需求可追溯性。
皮棉 1978-07-26 是的;允许的BSD状 C 最初的1978年,C。
马尔帕斯 不;所有权 艾达 C Pascal,汇编器(英特尔,PowerPC和摩托罗拉) 用于多种语言的软件静态分析工具集。主要用于核和航空工业的安全关键应用。
驼鹿 2021-01-21 (7.0.3) 是的;麻省理工学院 C,C ++ 爪哇 。网 短暂聊天 Moose最初是一个软件分析平台,其工具可以操纵,评估或可视化软件。它可以演变为更通用的数据分析平台。
ndection 2022-03-16 (2022.1) 不;所有权 c#vb.net .net 通过分析和可视化代码依赖性,通过进行设计规则,进行影响分析和比较不同版本来简化管理复杂的.NET代码库。集成到Visual Studio中。
.NET编译器平台Roslyn 2020-12-08 (3.8.0) 是的;麻省理工学院 C# vb.net Microsoft .NET开发的C#Visual Basic .NET的开源编译器框架。提供用于分析和操纵语法的API。 FXCOP规则已实施到罗斯林。
Parasoft C/C ++测试 2020-11-12 (2020.2) 不;所有权 C,C ++ 进行静态分析,单位测试,代码审查和运行时错误检测的AC/C ++工具;可用于Visual StudioEclipse的IDE的插件。
PC-lint Plus 2022-08-02(2.0 beta 2) 不;所有权 C,C ++ 一种用于检测多种缺陷,识别可疑代码,执行各种编码标准(MISRA/AUTOSAR/ETC),计算和报告复杂指标的静态分析工具,并实现用户定义的检查。
PMD 2023-2-25 (6.55.0) 是的;像BSD一样 C,C ++ Java,JSP JavaScript Coldfusion ,PHP 重复代码检测(例如)代码。
Polyspace 不;所有权 艾达 C,C ++ 使用抽象解释来检测并证明源代码中没有某些运行时间错误和死亡代码,并用于检查所有Misra(2004,2012)规则(指令,非指令)。
很差 2019-04-21 (101.0.0) 是的; CC0 JavaScript,打字稿 标记,脚本和样式语言(例如XML,CSS) 具有语言特定的代码比较工具,该工具具有特定于语言的分析报告,此外还具有特定于语言的简化美化算法。
PVS-Studio 2021-10-07 (7.15) 不;所有权 C,C ++, C ++/CLIC ++/CX ,C# 爪哇 软件分析工具。
Qodana 2023-07-23 (2023.2) 不;所有权 C# 爪哇,科特林 JavaScript,打字稿 vb.net Python GO,HTML,PHP,CSS,Android,vue.js 使用静态代码分析的代码质量分析工具。
撕裂 2020-02-17 (3.4) 不;所有权 爪哇 php 一种具有许多集成选项的静态代码分析解决方案,用于自动检测复杂的安全漏洞。
在线萨斯特 2022-03-07 (1.1.0) 不;所有权 爪哇 KotlinAPK 彻底检查Android源代码,以发现和解决潜在的安全问题和漏洞。静态应用程序安全测试(静态代码分析)工具在线
semgrep 2023-12-12 (1.53.0) 是的; LGPL v2.1 爪哇 JavaScript,打字稿 Python GO, JSON ,RUBY,语言不可思议的模式 一种静态分析工具,可帮助早日表达代码标准和浮出水错误。它还为其他11种语言提供了实验支持。 CI服务和规则库也可用。
sider 2021-02-02 不;所有权 JavaScript,Coffeescript Python Ruby,PHP,去 基于静态代码分析的自动代码审核工具在GitHub和Gitlab上工作。检查样式,质量,依赖性,安全性和错误。它集成了许多开源静态分析工具。
SLAM项目 2010-07-14 不;所有权 C Microsoft研究的项目用于检查该软件(驱动程序)可满足其使用的接口的关键行为属性。
SOFCHECK检查员/编码器 2020-08-24(21.x) 不;所有权 艾达 爪哇 逻辑错误,种族条件冗余代码的静态检测。自动从代码中提取前后条件
Sonarqube 2023-04-03 (10.0) 部分地;框架是LGPL v3.0 ,但某些功能可以是专有的 C,C#,C ++,Objective -C Java, Kotlin ,Scala JavaScript,打字稿 vb.net Python ABAP,APEX,CSS,COBOL,FLEX,GO,HTML,PHP,PLI,PL/SQL,RUBY,SWIFT,TSQL,Visual Basic 6,XML 连续的检查引擎,发现漏洞,错误和代码气味。还跟踪代码复杂性,单位测试覆盖范围和重复。通过商业许可提供分支分析和C/C ++/Objective-C支持。
进气表 2016-12-16 (8.2) 不;所有权 C,C ++ 爪哇 Python RPG IV(AS/400) 独立于平台的命令行静态源代码分析仪。与PMD和Spotbugs集成。
Sourcetrail (退休) 2021-04 (2021.4.19) 是的; GPL C,C ++ 爪哇 Python 珀尔 提供交互式依赖图并支持多种编程语言的开源源代码资源管理器。
2021-09-06 (0.6.4) 是的;麻省理工学院 C GCC扩展 一种开源工具,旨在在Linux内核中找到故障。
夹板 2007-07-12 (3.1.2) 是的; GPLV2 C 开源工具静态检查C程序是否有安全漏洞和编码错误。
Stylecop 2016-05-02 (2016.1.0) 是的; MS-PL C# 。网 分析C#源代码以执行一组样式和一致性规则。它可以从Microsoft Visual Studio内部运行,也可以集成到MSBUILD项目中。
挤压 2020-11-27 (20.1) 不;所有权 艾达 C,C ++,C#,Objective -c 爪哇 JavaScript,打字稿 vb.net Python Fortran,PHP,PL/SQL,Swift,T-SQL,XAML 用于软件项目的多功能和多语言监视工具。它与其他扫描仪集成在一起。
理解 2023-01-19 (6.3) 不;所有权 艾达 C,C ++,C#,Objective -c 爪哇 JavaScript Python Fortran,Jovial,Pascal,VHDL,HTML,PHP,XML 用于代码分析和理解大型代码库的多平台工具。可以识别C,C ++和C#的多个方言,例如ANSI,K&R和Objective C ++。
视觉专家 2021-09-10 不;所有权 PowerBuilder,Oracle PL/SQL,SQL Server Transact-SQL(T-SQL) 连续代码检查,质量和安全问题的报告,有助于了解复杂的代码(交叉引用,源代码文档,代码比较,代码性能分析)。
视觉工作室 2021-10-12 (16.11) 不;所有权 C,C ++,C# vb.net 在编辑器环境和编译器命令行中为C/C ++提供静态代码分析的IDE。还包括提供C#和VB.NET分析的.NET编译器平台(Roslyn)。
Yasca (退休) 2010-11-01 (2.21) 是的;多个许可证 C,C ++ 爪哇 JavaScript ASP,PHP,HTML,CSS,ColdFusion, COBOL 另一个源代码分析仪是一个基于插件的框架,用于扫描任意文件类型,并使用插件。它与其他扫描仪集成在一起,包括FindbugsPMD和Pixy。
工具 发布 免费软件 支持的语言 笔记

语言

艾达

CC ++

C#

IEC 61131-3

  • CODESYS静态分析 -代码的集成附加组件(在ST,FBD,LD中实现的应用程序代码)

爪哇

工具 最新发布 免费软件 复制
代码
笔记
checkstyle 2020-01-26 是的; LGPL 除了一些静态代码分析外,它还可以用来显示违反配置的编码标准的行为。从CheckStyle中删除了重复的代码检测。
2017-06-28 是的; EPL 跨平台IDE具有自己的数百个代码检查集,可在编辑器和整个项目的批量分析中进行分析。用于CheckStyle,Findbugs和PMD的插件。
查找bug 2015-03-06 是的; LGPL 基于马里兰州大学的雅加达BcelSpotbugs是Findbugs的精神继任者,从其社区的支持下来。
Intellij Idea 2021-04-06 是的; ASL 2 是的 带有内置代码检查和分析的领先Java IDE。用于CheckStyle,Findbugs和PMD的插件。
Jarchitect 2017-06-11 不;所有权 通过分析和可视化代码依赖性,定义设计规则,执行影响分析以及比较代码的不同版本来简化管理复杂的代码库。
Jtest 2019-05-21 不;所有权 是的 Parasoft测试和静态代码分析产品。
煤烟 2020-10-28 是的; LGPL 语言操纵和优化框架由中间语言组成。
PMD 2021-01-30 是的; BSD许可证 是的 静态代码分析仪,并支持插件,包括CPD 。 PMD支持检查几种语言。
怪异 2011-05-26 是的; LGPL 管理软件质量的平台。
线程安全 2014-03-28 不;所有权 静态分析工具的重点是查找并发错误。

JavaScript

  • Eslint - JavaScript语法检查器和格式化器。
  • Google的闭合编译器- 重写代码更快,更小的JavaScript优化器,并检查本机JavaScript功能的使用。
  • 代码- 代码的行为分析。
  • Jshint - JSlint的社区驱动的叉子。
  • JSlint - JavaScript语法检查器和验证器。
  • Klocwork
  • SEMGREP - 一种静态分析工具,可帮助早日表达代码标准和表面漏洞。 CI服务和规则库也可用。
  • 理解

Objective-C ,Objective-C ++

  • Clang - 免费的clang项目包括一个静态分析仪。从3.2版开始,该分析仪包含在XCode中。
  • 推断- 由Facebook的工程团队与开源贡献者开发。定位无效指针,泄漏,API使用和其他棉绒检查。在GitHub上可用作为开源。
  • 理解

OPA

  • OPA包括其自己的静态分析仪。由于该语言的目的是用于Web应用程序开发,因此强烈的静态键入编译器检查了Web数据的高级类型的有效性,默认情况下可以防止许多漏洞(例如XSS攻击和数据库代码注入)。

包装

  • Lintian - 检查Debian软件包是否有常见的不一致和错误。
  • RPMLINT - 检查RPM软件包中常见问题。

珀尔

PL/SQL

PowerBuilder ,PowerScript

Python

  • PYCHARM - 跨平台Python IDE具有可在整个项目的编辑器和批量分析中直接分析代码的代码检查。
  • PYDEV - 基于Eclipse的Python IDE,具有代码分析在编辑器中或保存时间可用的代码分析。
  • Pylint - 静态代码分析仪。非常严格;还包括许多风格警告。
  • Klocwork
  • SEMGREP - 静态代码分析仪,可帮助表达代码标准并及早表面漏洞。 CI服务和规则库也可用。
  • 理解

Transact-SQL

  • 视觉专家- 一个SQLServer代码分析工具,该工具报告有关编程问题的报告,并有助于理解和维护复杂的代码(影响分析,源代码文档,调用树,Crud矩阵等)。

具有重复代码检测的工具

正式方法工具

使用声音的工具,即对严格的模型,正式方法的静态分析方法(例如,使用静态程序断言)。声音方法至少在理想化的数学模型基于的基于的理想化数学模型方面(没有“无条件”的声音)。请注意,不能保证他们会报告所有错误程序的错误,他们将至少报告一个错误。

也可以看看