该存储库列出了所有编程语言的静态分析工具、构建工具、配置文件等。重点是提高代码质量的工具,例如 linter 和格式化程序。官方网站analysis-tools.dev基于此存储库,并为每个工具添加了排名、用户评论和视频等附加资源。
如果没有赞助商的慷慨支持,这个项目就不可能实现。
如果您也想支持这个项目,请访问我们的 Github 赞助商页面。
非常欢迎请求请求!
另请查看姊妹项目 Awesome-dynamic-analysis。
abaplint — ABAP 的 Linter,用 TypeScript 编写。
abapOpenChecks — 通过新的可自定义检查增强 SAP Code Inspector。
Codepeer ©️ — 检测运行时和逻辑错误。
Polyspace for Ada ©️ — 提供代码验证,证明源代码中不存在溢出、被零除、数组访问越界以及某些其他运行时错误。
SPARK ©️ — Ada 的静态分析和形式验证工具集。
Astrée ©️ — Astrée 自动证明 C/C++ 应用程序中不存在运行时错误和无效并发行为。它非常适合浮点计算,速度非常快,而且非常精确。该分析仪还检查 MISRA/CERT/CWE/Adaptive Autosar 编码规则,并支持 ISO 26262、DO-178C A 级和其他安全标准的资格认证。 Jenkins 和 Eclipse 插件可用。
CBMC — C 程序的有界模型检查器、用户定义的断言、标准断言、多种覆盖率度量分析。
clang-tidy — 基于 Clang 的 C++ linter 工具,也具有(有限)修复问题的能力。
clazy — 基于 Clang 框架的面向 Qt 的静态代码分析器。 clazy 是一个编译器插件,它允许 clang 理解 Qt 语义。您会收到超过 50 个与 Qt 相关的编译器警告,从不需要的内存分配到 API 的误用,包括用于自动重构的修复。
CMetrics — 测量 C 文件的大小和复杂性。
CPAchecker — 用于 C 程序的可配置软件验证的工具。选择 CPAchecker 这个名称是为了反映该工具基于 CPA 概念,用于检查软件程序。
cppcheck — C/C++ 代码的静态分析。
CppDepend ©️ — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。
cpplint — 遵循 Google 风格指南的自动 C++ 检查器。
cqmetrics — C 代码的质量指标。
CScout — C 和 C 预处理器代码的复杂性和质量指标。
ENRE-cpp — ENRE(实体关系提取器)是一个用于从源代码中提取代码实体依赖关系或关系的工具。 ENRE-cpp 是一个基于 @eclipse/CDT 的 C/C++ 实体关系提取器。 (开发中)
ESBMC — ESBMC 是一种开源、许可许可、上下文受限的模型检查器,基于可满足性模理论,用于验证单线程和多线程 C/C++ 程序。
探伤仪
燧石++
Frama-C — 一个健全且可扩展的 C 代码静态分析器。
GCC — GCC 编译器从版本 10 起就具有静态分析功能。仅当 GCC 配置为启用分析器支持时,此选项才可用。它还可以将其诊断信息输出到 SARIF 格式的 JSON 文件(从 v13 开始)。
Goblint — 用于分析多线程 C 程序的静态分析器。它的主要重点是检测数据竞争,但它也报告其他运行时错误,例如缓冲区溢出和空指针取消引用。
Helix QAC ©️ — 嵌入式软件的企业级静态分析。支持 MISRA、CERT 和 AUTOSAR 编码标准。
IKOS — 基于 LLVM 的 C/C++ 代码健全静态分析器。
Joern — 基于代码属性图的 C/C++ 开源代码分析平台
KLEE — 构建在 LLVM 编译器基础架构之上的动态符号执行引擎。它可以自动为程序生成测试用例,以便测试用例尽可能多地运行程序。
LDRA ©️ — 一个工具套件,包括符合各种标准的静态分析 (TBVISION),包括 MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++ 和自定义规则。
伴侣
PC-lint ©️ — C/C++ 静态分析。在 Windows/Linux/MacOS 下本机运行。分析几乎任何平台的代码,支持 C11/C18 和 C++17。
Phasar — 一个基于 LLVM 的静态分析框架,带有污点和类型状态分析。
Polyspace Bug Finder ©️ — 识别 C 和 C++ 嵌入式软件中的运行时错误、并发问题、安全漏洞和其他缺陷。
Polyspace Code Prover ©️ — 提供代码验证,证明 C 和 C++ 源代码中不存在溢出、被零除、越界数组访问以及某些其他运行时错误。
scan-build — 通过常规构建驱动 Clang 内置的 Clang 静态分析器的前端。
splint — 注释辅助静态程序检查器。
SVF — 一种静态工具,可为 C 和 C++ 程序提供可扩展且精确的过程间依赖分析。
TrustInSoft Analyzer ©️ — 详尽检测编码错误及其相关的安全漏洞。这包括健全的未定义行为检测(缓冲区溢出、越界数组访问、空指针解引用、释放后使用、除以零、未初始化内存访问、有符号溢出、无效指针算术等) 、数据流和控制流验证以及正式规范的全功能验证。支持 C 至 C18 和 C++ 至 C++20 的所有版本。 TrustInSoft Analyzer 将于 2023 年第二季度 (TCL3) 获得 ISO 26262 资格。还捆绑了 MISRA C 检查器。
维拉++
.NET 分析器 — 使用 .NET 编译器平台开发分析器(诊断和代码修复)的组织。
ArchUnitNET — AC# 架构测试库,用于在 C# 中指定和断言架构规则以进行自动化测试。
code-cracker — C# 和 VB 的分析器库,使用 Roslyn 进行重构、代码分析和其他细节。
CSharp 精华
Designite ©️ — Designite 支持检测各种架构、设计和实现气味,计算各种代码质量指标以及趋势分析。
Gendarme — Gendarme 检查包含 ECMA CIL 格式(Mono 和 .NET)代码的程序和库。
推断#
Meziantou.Analyzer — Roslyn 分析器,用于在 C# 中实施设计、使用、安全、性能和风格方面的一些良好实践。
NDepend ©️ — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。
Puma Scan — 当开发团队在 Visual Studio 中编写代码时,Puma Scan 为常见漏洞(XSS、SQLi、CSRF、LDAPi、加密、反序列化等)提供实时安全代码分析。
Roslynator — 由 Roslyn 提供支持的 190 多个分析器和 190 多个 C# 重构的集合。
SonarAnalyzer.CSharp — 这些 Roslyn 分析器可帮助您查找和纠正代码库中的错误、漏洞和代码异味,从而生成安全、可靠且可维护的干净代码。
VS诊断
Wintellect.Analyzers — .NET 编译器平台(“Roslyn”)诊断分析器和代码修复。
Astrée ©️ — Astrée 自动证明 C/C++ 应用程序中不存在运行时错误和无效并发行为。它非常适合浮点计算,速度非常快,而且非常精确。该分析仪还检查 MISRA/CERT/CWE/Adaptive Autosar 编码规则,并支持 ISO 26262、DO-178C A 级和其他安全标准的资格认证。 Jenkins 和 Eclipse 插件可用。
CBMC — C 程序的有界模型检查器、用户定义的断言、标准断言、多种覆盖率度量分析。
clang-tidy — 基于 Clang 的 C++ linter 工具,也具有(有限)修复问题的能力。
clazy — 基于 Clang 框架的面向 Qt 的静态代码分析器。 clazy 是一个编译器插件,它允许 clang 理解 Qt 语义。您会收到超过 50 个与 Qt 相关的编译器警告,从不需要的内存分配到 API 的误用,包括用于自动重构的修复。
CMetrics — 测量 C 文件的大小和复杂性。
cppcheck — C/C++ 代码的静态分析。
CppDepend ©️ — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。
cpplint — 遵循 Google 风格指南的自动 C++ 检查器。
cqmetrics — C 代码的质量指标。
CScout — C 和 C 预处理器代码的复杂性和质量指标。
ENRE-cpp — ENRE(实体关系提取器)是一个用于从源代码中提取代码实体依赖关系或关系的工具。 ENRE-cpp 是一个基于 @eclipse/CDT 的 C/C++ 实体关系提取器。 (开发中)
ESBMC — ESBMC 是一种开源、许可许可、上下文受限的模型检查器,基于可满足性模理论,用于验证单线程和多线程 C/C++ 程序。
探伤仪
燧石++
Frama-C — 一个健全且可扩展的 C 代码静态分析器。
Helix QAC ©️ — 嵌入式软件的企业级静态分析。支持 MISRA、CERT 和 AUTOSAR 编码标准。
IKOS — 基于 LLVM 的 C/C++ 代码健全静态分析器。
Joern — 基于代码属性图的 C/C++ 开源代码分析平台
KLEE — 构建在 LLVM 编译器基础架构之上的动态符号执行引擎。它可以自动为程序生成测试用例,以便测试用例尽可能多地运行程序。
LDRA ©️ — 一个工具套件,包括符合各种标准的静态分析 (TBVISION),包括 MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++ 和自定义规则。
伴侣
PC-lint ©️ — C/C++ 静态分析。在 Windows/Linux/MacOS 下本机运行。分析几乎任何平台的代码,支持 C11/C18 和 C++17。
Phasar — 一个基于 LLVM 的静态分析框架,带有污点和类型状态分析。
Polyspace Bug Finder ©️ — 识别 C 和 C++ 嵌入式软件中的运行时错误、并发问题、安全漏洞和其他缺陷。
Polyspace Code Prover ©️ — 提供代码验证,证明 C 和 C++ 源代码中不存在溢出、被零除、越界数组访问以及某些其他运行时错误。
scan-build — 通过常规构建驱动 Clang 内置的 Clang 静态分析器的前端。
splint — 注释辅助静态程序检查器。
SVF — 一种静态工具,可为 C 和 C++ 程序提供可扩展且精确的过程间依赖分析。
TrustInSoft Analyzer ©️ — 详尽检测编码错误及其相关的安全漏洞。这包括健全的未定义行为检测(缓冲区溢出、越界数组访问、空指针解引用、释放后使用、除以零、未初始化内存访问、有符号溢出、无效指针算术等) 、数据流和控制流验证以及正式规范的全功能验证。支持 C 至 C18 和 C++ 至 C++20 的所有版本。 TrustInSoft Analyzer 将于 2023 年第二季度 (TCL3) 获得 ISO 26262 资格。还捆绑了 MISRA C 检查器。
维拉++
ameba — Crystal 的静态代码分析工具。
crystal — Crystal 编译器具有内置的 linting 功能。
Dart 代码指标
effective_dart——与Effective Dart中的指南相对应的Linter规则
皮棉
Linter for dart — Dart 的样式 linter。
DelphiLint — 一个 Delphi IDE 包,提供即时代码分析和 linting,由 SonarDelphi 提供支持。
Fix Insight ©️ — 用于静态代码分析的免费 IDE 插件。专业版包括用于自动化目的的命令行工具。
Pascal Analyzer ©️ — 具有大量报告的静态代码分析工具。提供免费的Lite版本,但报告有限。
Pascal Expert ©️ — 用于代码分析的 IDE 插件。包括 Pascal 分析器报告功能的子集,适用于 Delphi 2007 及更高版本。
SonarDelphi — 用于 SonarQube 代码质量平台的 Delphi 静态分析器。
credo — 一种静态代码分析工具,专注于代码一致性和教学。
dialyxir — 混合任务以简化 Elixir 项目中 Dialyzer 的使用。
sobelow — Phoenix 框架的以安全为中心的静态分析。
榆树分析
elm-review — 分析整个 Elm 项目,重点关注用 Elm 编写的可共享和自定义规则,这些规则添加了 Elm 编译器无法提供的保证。
dialyzer — DIALYZER,用于 ERlang 程序的差异分析器。 Dialyzer 是一个静态分析工具,可以识别单个 Erlang 模块或整个(组)应用程序中的软件差异,例如明确的类型错误、由于编程错误而死亡或无法访问的代码以及不必要的测试。 Dialyzer 从调试编译的 BEAM 字节码或 Erlang 源代码开始分析。报告差异的文件和行号以及差异的内容指示。 Dialyzer 的分析基于成功打字的概念,它允许发出声音警告(无误报)。
elvis — Erlang 风格评论家。
Primitive Erlang Security Tool (PEST) — 一种对 Erlang 源代码进行基本扫描并报告任何可能导致 Erlang 源代码不安全的函数调用的工具。
fantomas — F# 源代码格式化程序。
FSharpLint — F# 的 Lint 工具。
ionide-analyzers — F# 分析器的集合,使用 FSharp.Analyzers.SDK 构建。
fprettify — 现代 Fortran 源代码的自动格式化程序,用 Python 编写。 Fprettify 是一个在代码中提供一致的空格、缩进和分隔符对齐的工具,包括更改字母大小写和处理预处理器指令的能力,同时保留修订历史记录并测试编辑器集成。
i-Code CNES for Fortran — 适用于 Fortran 77、Fortran 90 和 Shell 的开源静态代码分析工具。
aligncheck — 查找效率低下的打包结构。
bodyclose — 检查 HTTP 响应正文是否已关闭。
deadcode — 查找未使用的代码。
野狗猎人
dogsled — 查找具有太多空白标识符的赋值/声明。
双重
errcheck — 检查是否使用了错误返回值。
errwrap — 使用新的 %w 动词指令包装并修复 Go 错误。该工具分析 fmt.Errorf() 调用并报告包含与 Go v1.13 中引入的新 %w 动词指令不同的动词指令的调用。它还能够重写调用以使用新的 %w 换行动词指令。
flen — 获取 Go 包中函数长度的信息。
去元短绒golangci-lint
用于新项目。
go tool vet --shadow — 报告可能被无意隐藏的变量。
go vet — 检查 Go 源代码并报告可疑情况。
go-consistent — 帮助您使 Go 程序更加一致的分析器。
go-critic — Go 源代码 linter,维护当前在其他 linter 中未实现的检查。
go/ast — 包 ast 声明了用于表示 Go 包语法树的类型。
山羊
gochecknoglobals
goconst — 查找可以用常量替换的重复字符串。
戈塞洛
gofmt -s — 检查代码格式是否正确且无法进一步简化。
gofumpt — 强制执行比gofmt
更严格的格式,同时向后兼容。也就是说, gofumpt
对gofmt
满意的格式子集感到满意。该工具是 Go 1.19 版本的gofmt
的一个分支,需要 Go 1.18 或更高版本。它可以用作格式化 Go 代码的直接替代品,并且在 gofumpt 之后运行 gofmt 应该不会产生任何变化。 gofumpt
永远不会添加与gofmt
格式不一致的规则。所以我们扩展gofmt
而不是与之竞争。
goimports — 检查丢失或未引用的包导入。
gokart - Golang 安全分析,重点是最大限度地减少误报。它能够追踪变量和函数参数的来源,以确定输入源是否安全。
GolangCI-Lint — Go Meta Linter
的替代品:GolangCI-Lint 是一个 linters 聚合器。
golint — 打印 Go 源代码中的编码风格错误。
goreporter — 同时运行许多 linter 并将其输出规范化为报告。
goroutine-inspect — 用于分析 Golang goroutine 转储的交互式工具。
gosec (gas) — 通过扫描 Go AST 检查源代码是否存在安全问题。
gotype — 类似于 Go 编译器的语法和语义分析。
govulncheck — Govulncheck 报告影响 Go 代码的已知漏洞。它使用源代码或二进制符号表的静态分析来将报告范围缩小到仅那些可能影响应用程序的报告。默认情况下,govulncheck 向 https://vuln.go.dev 的 Go 漏洞数据库发出请求。对漏洞数据库的请求仅包含模块路径,而不包含程序的代码或其他属性。
ineffassign — 检测 Go 代码中无效的分配。
接口器
lll
被诽谤的
拼写错误 — 查找常见拼写错误的英语单词。
bareret — 查找裸收益。
nargs — 查找函数声明中未使用的参数。
prealloc — 查找可能被预分配的切片声明。
Reviewdog — 用于发布来自任何代码托管服务中的任何 linter 的评论评论的工具。
revive — 快速、可配置、可扩展、灵活且漂亮的 Go 语言检查器。 golint 的直接替代品。
安全SQL
志翔
staticcheck — 专门用于查找错误、简化代码和提高性能的静态分析。
structcheck — 查找未使用的结构字段。
structslop - Go 的静态分析器,建议结构字段重新排列以提供最大的空间/分配效率
test — 显示 stdlib 测试模块中测试失败的位置。
取消转换
unparam — 查找未使用的函数参数。
varcheck — 查找未使用的全局变量和常量。
wsl — 在正确的位置强制执行空行。
布列塔尼
HLint — HLint 是一个用于建议 Haskell 代码可能改进的工具。
Liquid Haskell — Liquid Haskell 是 Haskell 程序的细化类型检查器。
Stan — Stan 是一个命令行工具,用于分析 Haskell 项目并以有用的方式输出发现的漏洞以及针对检测到的问题的可能解决方案。
Weeder — 用于检测 Haskell 代码中无效导出或包导入的工具。
Checker Framework — Java 的可插入类型检查。这不仅仅是一个错误查找器,而且是一个保证正确性的验证工具。它带有 27 个预构建的类型系统,并且允许用户定义自己的类型系统;该手册列出了 30 多个用户贡献的类型系统。
checkstyle — 检查 Java 源代码是否符合代码标准或验证规则集(最佳实践)。
ck — 通过处理源 Java 文件来计算 Chidamber 和 Kemerer 面向对象的指标。
ckjm — 通过处理编译的 Java 文件的字节码来计算 Chidamber 和 Kemerer 面向对象的指标。
CogniCrypt — 检查 Java 源代码和字节代码是否错误地使用了加密 API。
数据流框架 — 用于 Java 的工业级数据流框架。 Dataflow Framework 用于 Checker Framework、Google 的 Error Prone、Uber 的 NullAway、Meta 的 Nullsafe 以及其他上下文中。它与 Checker 框架一起分发。
DesigniteJava ©️ — DesigniteJava 支持检测各种架构、设计和实现气味以及计算各种代码质量指标。
Diffblue ©️ — Diffblue 是一家软件公司,为软件开发团队提供人工智能驱动的代码分析和测试解决方案。其技术可帮助开发人员自动化测试、查找错误并减少软件开发过程中的体力劳动。该公司的主要产品 Diffblue Cover 使用 AI 生成和运行 Java 代码的单元测试,有助于捕获错误并提高代码质量。
Doop — Doop 是一个用于 Java/Android 程序静态分析的声明式框架,以指针分析算法为中心。 Doop 提供了各种各样的分析以及周围的脚手架来运行端到端分析(事实生成、处理、统计等)。
ENRE-java — ENRE(实体关系提取器)是一个用于从源代码中提取代码实体依赖关系或关系的工具。 ENRE-java 是一个基于 @Eclipse JDT/parser 的 Java 项目的 ENtity 关系提取器。
容易出错 — 将常见的 Java 错误捕获为编译时错误。
fb-contrib — FindBugs 的插件,带有额外的错误检测器。
禁止 apis — 检测并禁止调用特定方法/类/字段(例如从没有字符集的文本流中读取)。 Maven/Gradle/Ant 兼容。
google-java-format — 重新格式化 Java 源代码以符合 Google Java 风格
猎虫
IntelliJ IDEA ©️ — 捆绑了许多针对 Java 和 Kotlin 的检查,并包含用于重构、格式化等的工具。
JArchitect ©️ — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。
JBMC — Java(字节码)的有界模型检查器,验证用户定义的断言、标准断言、多种覆盖率度量分析。
马里亚纳海沟 — 我们针对 Android 和 Java 应用程序的安全静态分析工具。 Mariana Trench 分析 Dalvik 字节码,旨在在大型代码库(数十百万行代码)上快速运行。它可以在代码更改时发现漏洞,然后再将其放入存储库。
NullAway — 基于类型的空指针检查器,构建时间开销较低;一个容易出错的插件。
OWASP 依赖项检查 — 检查依赖项是否存在已知的、公开披露的漏洞。
qulice — 结合了一些(预先配置的)静态分析工具(checkstyle、PMD、Findbugs...)。
RefactorFirst — 识别并优先考虑 Java 代码库中您应该首先重构的上帝类和高度耦合类。
Soot — 用于分析和转换 Java 和 Android 应用程序的框架。
Spoon — Spoon 是一个元编程库,用于分析和转换 Java 源代码(包括 Java 9、10、11、12、13、14)。它解析源文件以构建具有强大分析和转换 API 的精心设计的 AST。可以集成到 Maven 和 Gradle 中。
SpotBugs — SpotBugs 是 FindBugs 的继承者。一种静态分析工具,用于查找 Java 代码中的错误。
stable — 分析您的 Java 应用程序是否存在已知漏洞的开源依赖项,同时使用静态分析和测试来确定代码上下文和使用情况,以提高准确性。
Violations Lib — 用于从静态代码分析中解析报告文件的 Java 库。被大量 Jenkins、Maven 和 Gradle 插件使用。
醚
Closure Compiler — 一种编译器工具,可提高效率、减小大小并在 JavaScript 文件中提供代码警告。
闭包检查器
复杂性报告
DeepScan ©️ — JavaScript 分析器,针对运行时错误和质量问题,而不是编码约定。
es6-柏拉图
综合体
埃斯普里玛
flow — JavaScript 的静态类型检查器。
hegel - JavaScript 的静态类型检查器,偏向于类型推断和强类型系统。
jshint — 检测 JavaScript 代码中的错误和潜在问题并强制执行团队的编码约定。
JSLint — JavaScript 代码质量工具。
JSPrime
NodeJSScan — 用于 Node.js 应用程序的静态安全代码扫描器,由 libsast 和 semgrep 提供支持,构建于 njsscan cli 工具之上。它具有一个 UI,其中包含有关应用程序安全状态的各种仪表板。
柏拉图
Polymer-analyzer — Web 组件的静态分析框架。
retire.js — 扫描器检测具有已知漏洞的 JavaScript 库的使用情况。
RSLint
标准 - 检查 Javascript 样式指南问题的 npm 模块。
tern — 一个 JavaScript 代码分析器,提供深入的跨编辑器语言支持。
典型值L
xo - 固执己见但可配置的 ESLint 包装器,包含许多好东西。强制执行严格且可读的代码。
尺度
JET — 用于检测错误和类型不稳定性的静态类型推断系统。
StaticLint — Julia 的静态代码分析
detekt — Kotlin 代码的静态代码分析。
diktat — Kotlin 的严格编码标准以及检测和自动修复代码异味的 linter。
ktfmt — 重新格式化 Kotlin 源代码以符合 Kotlin 代码约定的通用社区标准的程序。 ktfmt IntelliJ 插件可从插件存储库中获取。要安装它,请转到 IDE 的设置并选择插件类别。单击 Marketplace 选项卡,搜索 ktfmt 插件,然后单击 Install 按钮。
ktlint — 具有内置格式化程序的防自行车脱落 Kotlin linter。
luacheck — 用于 Lua 代码的 linting 和静态分析的工具。
lualint — lualint 对 Lua 源代码中的全局变量使用进行基于 luac 的静态分析。
卢分析
DrNim — DrNim 将 Nim 前端与 Z3 证明引擎相结合,以便验证 / 确认用 Nim 编写的软件。
nimfmt — Nim 代码格式化程序/linter/样式检查器
Sys - 用于查找(浏览器)代码中的错误的静态/符号工具。它使用 LLVM AST 来查找诸如未初始化内存访问之类的错误。
VeriFast — 用于对单线程和多线程 C 和 Java 程序的正确性属性进行模块化形式验证的工具,用分离逻辑编写的前置条件和后置条件进行注释。为了表达丰富的规范,程序员可以定义归纳数据类型、这些数据类型上的原始递归纯函数以及抽象分离逻辑谓词。
CakeFuzzer — 用于基于 CakePHP 的 Web 应用程序的 Web 应用程序安全测试工具。 CakeFuzzer 采用一组预定义的攻击,这些攻击在执行前会随机修改。利用对 Cake PHP 框架的深入了解,Cake Fuzzer 对所有潜在的应用程序入口点发起攻击。
churn-php — 帮助发现重构的良好候选者。
作曲家依赖性 - 分子体 - 快速检测作曲家依赖性问题。
DEPHPEND - 依赖分析工具。
弃用检测器 - 查找折旧(Symfony)代码的用法。
DEPTRAC - 软件层之间依赖关系的规则。
DesignPatterndetector - PHP代码中设计模式的检测。
EasyCodingStandard - 将php_codesniffer和php-cs-fixer组合在一起。
Enlightn - 用于Laravel应用程序的静态和动态分析工具,可提供建议,以提高Laravel应用程序的性能,安全性和代码可靠性。包含120张自动检查。
EXAKAT - PHP的自动代码审查引擎。
grumphp - 在每个提交中检查代码。
拉斯坦(Larastan) - 为Laravel添加了静态分析,从而提高了开发人员的生产率和代码质量。它是phpstan周围的包装纸。
蒙德里安
Nitpick CI©️-自动化的PHP代码评论。
并行细致 - 此工具比串行检查更快地检查PHP文件的语法。
解析 - 静态安全扫描仪。
pdection-计算PHP代码的循环复杂性等软件指标。
Phan - 来自Etsy的现代静态分析仪。
PHP体系结构测试仪 - 易于使用的php体系结构测试工具。
PHP假设 - 检查弱假设。
PHP编码标准修复程序 - 根据PSR-1,PSR-2和Symfony标准等标准修复您的代码。
PHP Insights - 从您的控制台进行即时PHP质量检查。代码质量和编码样式的分析以及代码架构及其复杂性的概述。
PHP检查(EA扩展) - PHP的静态代码分析仪。
PHP重构浏览器 - 重构助手。
PHP语义版本控制检查器
php-parser - 用php编写的PHP解析器。
php-speller - php咒语检查库。
PHP反射
php7cc
PHP7 -MAR
php_codesniffer - 检测违反定义的编码标准集。
phParkItect - PhParkItect通过允许在工作流中添加一些建筑约束检查来帮助您保持PHP代码库相干和固体。您可以在简单且可读的PHP代码中表达要执行的约束。
PHPCA
phpcpd
phpdcd
PHPSTIPENTANALYSY分析
PHPDEPRECATIONDETECTOR - PHP代码的分析仪,以搜索新的解释器版本中不弃用功能的问题。它找到了删除的对象(功能,变量,常数和INI导演),弃用功能的功能以及禁止名称或技巧的用法(例如,较新版本中的保留标识符)。
phpdoc-typehint
phpdocumentor-分析PHP源代码以生成文档。
PHPLOC - 一种用于快速测量大小和分析PHP项目结构的工具。
phpmd - 在您的代码中找到可能的错误。
phpmetrics - 计算和可视化各种代码质量指标。
phpmnd - 有助于检测魔术数字。
phpqa
PHPQA -JAKZAL - 一个容器中用于PHP静态分析的许多工具。
PHPQA-JMolivas - PHPQA多合一分析仪CLI工具。
phpsa
PHPSTAN - PHP静态分析工具 - 在您的代码中发现错误而无需运行!
ProgPilot - 用于安全目的的静态分析工具。
诗篇 - 用于在PHP应用程序中查找类型错误的静态分析工具。
Qafoo质量分析仪
校长 - 任何PHP 5.3+代码的即时升级和自动重构。它可以升级您的代码为7.4、8.0及以后的PHP。校长承诺较低的假阳性速率,因为它寻找狭义定义的AST(抽象语法树)模式。主要用例是解决您的旧版代码中的技术债务并删除死亡代码。 Rector为Symfony,Doctrine,Phpunit等提供了一组特殊规则。
反思 - 对PHP项目进行静态分析的反思库
Symfony Insight©q - 检测安全风险,查找错误并为PHP项目提供可行的指标。
图里 - 静态分析引擎。
树枝 - 薄荷 - 树枝 - 薄荷是您的树枝文件的棉绒工具。
WAP - 在PHP(4.0或更高)Web应用程序中检测和纠正输入验证漏洞的工具,并通过结合静态分析和数据挖掘来预测误报。
perl :: Analyzer - Perl-Analyzer是一组程序和模块,允许用户通过提供有关名称空间及其关系,依赖关系,继承和方法的信息,以包装,继承和重新定义的命名空间及其关系,依赖关系,继承和方法来分析和可视化Perl代码库,以及作为通过SUPER从父套件来调用方法。
perl ::评论家 - 最佳实践的评论perl源代码。
perltidy - Perltidy是一个perl脚本,依靠和重新格式脚本使它们更易于阅读。格式可以用命令行参数控制。默认参数设置大致遵循Perl样式指南中的建议。除了重新格式化脚本外,Perltidy还可以通过缺少或额外的牙套,括号和方括号来追踪错误,这是一个很大的帮助,因为它非常擅长本地化错误。
Zarn-现代Perl应用程序的轻质静态安全分析工具
AutoFlake - AutoFlake从Python代码中删除未使用的导入和未使用的变量。
AUTOPEP8 - 一种自动格式化Python代码以符合PEP 8样式指南的工具。它使用pycodestyle实用程序来确定需要格式化代码的哪些部分。
强盗 - 一种在Python代码中查找常见安全问题的工具。
Bellybutton - 支持定制项目特定规则的覆盖引擎。
黑色 - 毫不妥协的Python代码格式。
投球手 - 现代Python的安全代码重构。圆顶硬礼帽是在语法树级别操纵python的重构工具。它可以实现安全的大规模代码修改,同时确保所得代码编译和运行。它提供一个简单的命令行接口和Python中的Fluent API,用于在代码中生成复杂的代码修改。
Ciocheckpep8
, pydocstyle
, flake8
和pylint
周围的包装纸。
凝聚
交易 - python合同设计。编写无错误的代码。通过在代码中添加一些装饰器,您可以免费进行测试,静态分析,正式验证等等。
DLINT - 确保Python代码安全的工具。
狡猾 - 狡猾是一种非常基本的工具,可以与您的代码库相抵触,以搜索“狡猾”的外观值。这是一系列简单的正则表达式,旨在检测诸如意外SCM diff checkins,密码或秘密键将其硬编码为文件等事物。
nre-py
FIXIT - 用于创建棉绒规则和源代码的相应自动修复的框架。
Flake8-围绕pyflakes
, pycodestyle
和mccabe
包装纸。
Flakeheaven - Flakeheaven是围绕Flake8构建的Python Linter,以实现可遗传且复杂的TOML配置。
Griffe - 整个Python计划的签名。提取项目的结构,框架,项目的骨骼,以生成API文档或查找API中的破坏更改。
Inspectorger
绝地武士 - Python的自动完成/静态分析库。
Linty Fresh - 解析毛刺错误,并将其报告给Github作为拉的请求的评论。
McCabe - 检查McCabe的复杂性。
多曲线flake8
周围的包装纸, isort
and modernize
。
Mypy-一种静态型检查器,旨在结合鸭打字和静态打字的好处,经常与MonkeyType一起使用。
探矿者 - pylint
, pep8
, mccabe
等周围的包装纸。
py-find注入
Pyanalyze - 一种用于检测Python代码中常见错误的工具,例如对未定义变量的引用和类型错误。可以扩展以添加其他规则并执行特定于特定功能的检查。
PyCodequal©️-PyCodequal使您深入了解复杂性和错误风险。它为您的拉请求添加了自动评论。
PyCodestyle - (以前是pep8
)根据PEP 8中的某些样式惯例检查Python代码。
pydoc风格
PYFLAKES - 检查Python源文件是否错误。
PYLINT - 寻找编程错误,有助于执行编码标准,并嗅探某些代码气味。它还包括pyreverse
(一个UML图生成器)和symilar
(相似性检查器)。
Pyzers - python的静态代码分析仪 /语言服务器,用Rust编写,专注于类型检查和可读输出。
Pyre-Check-大型Python代码库的快速,可扩展类型的检查器。
Pyright - Python的静态型检查器,为解决Mypy等现有工具中的差距而创建。
火烧
PYSA - 一种基于Facebook的Pyre-Check的工具,可在使用Taint Analysis确定的Python代码中确定潜在的安全问题。
pyt- python taint
Pytype - Python代码的静态类型分析仪。
pyupgrade - 一种工具(和预加入挂钩),可自动升级该语言的较新版本的语法。
量化码
ra-一种计算来自源代码的各种指标的Python工具。
翻新 - 用于翻新和现代化Python代码库的工具。翻新的灵感来自Clippy,这是Rust的内置衬里。
ruff - 快速的python linter,用生锈写。比现有衬里快10-100倍。与Python 3.10兼容。支持文件观察器。
不符号 - 林格,用于查找和删除未使用的导入语句的格式。
秃鹰 - 在Python代码中找到未使用的类,功能和变量。
Wemake-Python-Styleguide - 有史以来最严格,最有见识的Python Linter。
狡猾的