Este repositorio enumera herramientas de análisis estático para todos los lenguajes de programación, herramientas de compilación, archivos de configuración y más. La atención se centra en herramientas que mejoran la calidad del código, como linters y formateadores. El sitio web oficial, análisis-tools.dev, se basa en este repositorio y agrega clasificaciones, comentarios de usuarios y recursos adicionales como videos para cada herramienta.
Este proyecto no sería posible sin el generoso apoyo de nuestros patrocinadores.
Si también desea apoyar este proyecto, diríjase a nuestra página de patrocinadores de Github.
¡Las solicitudes de extracción son bienvenidas!
Consulte también el proyecto hermano, awesome-dynamic-analysis.
abaplint — Linter para ABAP, escrito en TypeScript.
abapOpenChecks: mejora SAP Code Inspector con comprobaciones nuevas y personalizables.
Codepeer ©️: detecta errores lógicos y de tiempo de ejecución.
Polyspace para Ada ©️: proporciona verificación de código que demuestra la ausencia de desbordamiento, división por cero, acceso a matrices fuera de límites y otros errores de tiempo de ejecución en el código fuente.
SPARK ©️ — Conjunto de herramientas de análisis estático y verificación formal para Ada.
Astrée ©️: Astrée demuestra automáticamente la ausencia de errores de ejecución y comportamiento concurrente no válido en aplicaciones C/C++. Es sólido para cálculos de punto flotante, muy rápido y excepcionalmente preciso. El analizador también verifica las reglas de codificación MISRA/CERT/CWE/Adaptive Autosar y admite la calificación para ISO 26262, DO-178C nivel A y otros estándares de seguridad. Los complementos de Jenkins y Eclipse están disponibles.
CBMC: verificador de modelos acotado para programas C, aserciones definidas por el usuario, aserciones estándar, varios análisis de métricas de cobertura.
clang-tidy: herramienta linter C ++ basada en Clang con la capacidad (limitada) de solucionar problemas también.
clazy: analizador de código estático orientado a Qt basado en el marco Clang. clazy es un complemento compilador que permite a clang comprender la semántica de Qt. Recibirá más de 50 advertencias del compilador relacionadas con Qt, que van desde asignaciones de memoria innecesarias hasta el uso indebido de la API, incluidas correcciones para la refactorización automática.
CMetrics: mide el tamaño y la complejidad de los archivos C.
CPAchecker: una herramienta para la verificación de software configurable de programas C. El nombre CPAchecker fue elegido para reflejar que la herramienta se basa en los conceptos de CPA y se utiliza para verificar programas de software.
cppcheck: análisis estático de código C/C++.
CppDepend ©️: mida, consulte y visualice su código y evite problemas inesperados, deuda técnica y complejidad.
cpplint: comprobador automatizado de C++ que sigue la guía de estilo de Google.
cqmetrics: métricas de calidad para código C.
CScout: métricas de complejidad y calidad para código de preprocesador C y C.
ENRE-cpp: ENRE (ENtity Relationship Extractor) es una herramienta para extraer dependencias o relaciones de entidades de código del código fuente. ENRE-cpp es un extractor de relaciones de entidades para C/C++ basado en @eclipse/CDT. (En desarrollo)
ESBMC: ESBMC es un verificador de modelos de código abierto, con licencia permisiva y limitado por el contexto, basado en teorías de módulo de satisfacibilidad para la verificación de programas C/C++ de uno y varios subprocesos.
buscador de defectos
pedernal ++
Frama-C: un analizador estático sólido y extensible para código C.
GCC: el compilador GCC tiene capacidades de análisis estático desde la versión 10. Esta opción solo está disponible si GCC se configuró con la compatibilidad con el analizador habilitada. También puede enviar sus diagnósticos a un archivo JSON en formato SARIF (desde v13).
Goblint: un analizador estático para el análisis de programas C multiproceso. Su objetivo principal es la detección de carreras de datos, pero también informa otros errores de tiempo de ejecución, como desbordamientos de búfer y desreferencias de puntero nulo.
Helix QAC ©️: análisis estático de nivel empresarial para software integrado. Admite los estándares de codificación MISRA, CERT y AUTOSAR.
IKOS: un analizador estático de sonido para código C/C++ basado en LLVM.
Joern: plataforma de análisis de código fuente abierta para C/C++ basada en gráficos de propiedades de código
KLEE: un motor de ejecución simbólica dinámica construido sobre la infraestructura del compilador LLVM. Puede generar automáticamente casos de prueba para programas de modo que los casos de prueba ejerciten la mayor parte posible del programa.
LDRA ©️: un conjunto de herramientas que incluye análisis estático (TBVISION) según varios estándares, incluidos MISRA C y C++, JSF++ AV, CWE, CERT C, CERT C++ y reglas personalizadas.
COMPAÑERO
PC-lint ©️ — Análisis estático para C/C++. Se ejecuta de forma nativa en Windows/Linux/MacOS. Analiza código para prácticamente cualquier plataforma, compatible con C11/C18 y C++17.
Phasar: un marco de análisis estático basado en LLVM que viene con un análisis de estado de tipo y contaminación.
Polyspace Bug Finder ©️: identifica errores de tiempo de ejecución, problemas de concurrencia, vulnerabilidades de seguridad y otros defectos en el software integrado C y C++.
Polyspace Code Prover ©️: proporciona verificación de código que demuestra la ausencia de desbordamiento, división por cero, acceso a matrices fuera de límites y otros errores de tiempo de ejecución en el código fuente C y C++.
scan-build: interfaz para controlar el analizador estático de Clang integrado en Clang a través de una compilación normal.
splint: verificador de programas estáticos asistido por anotaciones.
SVF: una herramienta estática que permite un análisis de dependencia entre procedimientos escalable y preciso para programas C y C++.
TrustInSoft Analyzer ©️ — Detección exhaustiva de errores de codificación y sus vulnerabilidades de seguridad asociadas. Esto abarca una detección sólida de comportamiento indefinido (desbordamientos de búfer, accesos a matrices fuera de límites, desreferencias de puntero nulo, uso después de la liberación, división por ceros, accesos a memoria no inicializados, desbordamientos firmados, aritmética de puntero no válida, etc.) , verificación del flujo de datos y del flujo de control, así como verificación funcional completa de las especificaciones formales. Se admiten todas las versiones de C hasta C18 y C++ hasta C++20. TrustInSoft Analyzer adquirirá la calificación ISO 26262 en el segundo trimestre de 2023 (TCL3). También se incluye un verificador MISRA C.
vera++
Analizadores .NET: una organización para el desarrollo de analizadores (diagnósticos y correcciones de código) utilizando la plataforma compiladora .NET.
ArchUnitNET: biblioteca de pruebas de arquitectura AC# para especificar y afirmar reglas de arquitectura en C# para pruebas automatizadas.
code-cracker: una biblioteca analizadora para C# y VB que utiliza Roslyn para producir refactorizaciones, análisis de código y otras sutilezas.
CSharpEsenciales
Designite ©️: Designite admite la detección de diversos olores de arquitectura, diseño e implementación, el cálculo de varias métricas de calidad del código y el análisis de tendencias.
Gendarme: Gendarme inspecciona programas y bibliotecas que contienen código en formato ECMA CIL (Mono y .NET).
Inferir#
Meziantou.Analyzer: un analizador de Roslyn para aplicar algunas buenas prácticas en C# en términos de diseño, uso, seguridad, rendimiento y estilo.
NDepend ©️: mida, consulte y visualice su código y evite problemas inesperados, deuda técnica y complejidad.
Puma Scan: Puma Scan proporciona análisis de código seguro en tiempo real para vulnerabilidades comunes (XSS, SQLi, CSRF, LDAPi, criptografía, deserialización, etc.) a medida que los equipos de desarrollo escriben código en Visual Studio.
Roslynator: una colección de más de 190 analizadores y más de 190 refactorizaciones para C#, con tecnología de Roslyn.
SonarAnalyzer.CSharp: estos analizadores de Roslyn le permiten producir código limpio que es seguro, confiable y fácil de mantener al ayudarlo a encontrar y corregir errores, vulnerabilidades y olores de código en su base de código.
VSDiagnóstico
Wintellect.Analyzers: analizadores de diagnóstico y correcciones de código de .NET Compiler Platform ("Roslyn").
Astrée ©️: Astrée demuestra automáticamente la ausencia de errores de ejecución y comportamiento concurrente no válido en aplicaciones C/C++. Es sólido para cálculos de punto flotante, muy rápido y excepcionalmente preciso. El analizador también verifica las reglas de codificación MISRA/CERT/CWE/Adaptive Autosar y admite la calificación para ISO 26262, DO-178C nivel A y otros estándares de seguridad. Los complementos de Jenkins y Eclipse están disponibles.
CBMC: verificador de modelos acotado para programas C, aserciones definidas por el usuario, aserciones estándar, varios análisis de métricas de cobertura.
clang-tidy: herramienta linter C ++ basada en Clang con la capacidad (limitada) de solucionar problemas también.
clazy: analizador de código estático orientado a Qt basado en el marco Clang. clazy es un complemento compilador que permite a clang comprender la semántica de Qt. Recibirá más de 50 advertencias del compilador relacionadas con Qt, que van desde asignaciones de memoria innecesarias hasta el uso indebido de la API, incluidas correcciones para la refactorización automática.
CMetrics: mide el tamaño y la complejidad de los archivos C.
cppcheck: análisis estático de código C/C++.
CppDepend ©️: mida, consulte y visualice su código y evite problemas inesperados, deuda técnica y complejidad.
cpplint: comprobador automatizado de C++ que sigue la guía de estilo de Google.
cqmetrics: métricas de calidad para código C.
CScout: métricas de complejidad y calidad para código de preprocesador C y C.
ENRE-cpp: ENRE (ENtity Relationship Extractor) es una herramienta para extraer dependencias o relaciones de entidades de código del código fuente. ENRE-cpp es un extractor de relaciones de entidades para C/C++ basado en @eclipse/CDT. (En desarrollo)
ESBMC: ESBMC es un verificador de modelos de código abierto, con licencia permisiva y limitado al contexto, basado en teorías de módulo de satisfacibilidad para la verificación de programas C/C++ de uno y varios subprocesos.
buscador de defectos
pedernal ++
Frama-C: un analizador estático sólido y extensible para código C.
Helix QAC ©️: análisis estático de nivel empresarial para software integrado. Admite los estándares de codificación MISRA, CERT y AUTOSAR.
IKOS: un analizador estático de sonido para código C/C++ basado en LLVM.
Joern: plataforma de análisis de código fuente abierta para C/C++ basada en gráficos de propiedades de código
KLEE: un motor de ejecución simbólica dinámica construido sobre la infraestructura del compilador LLVM. Puede generar automáticamente casos de prueba para programas de modo que los casos de prueba ejerciten la mayor parte posible del programa.
LDRA ©️: un conjunto de herramientas que incluye análisis estático (TBVISION) según varios estándares, incluidos MISRA C y C++, JSF++ AV, CWE, CERT C, CERT C++ y reglas personalizadas.
COMPAÑERO
PC-lint ©️ — Análisis estático para C/C++. Se ejecuta de forma nativa en Windows/Linux/MacOS. Analiza código para prácticamente cualquier plataforma, compatible con C11/C18 y C++17.
Phasar: un marco de análisis estático basado en LLVM que viene con un análisis de estado de tipo y contaminación.
Polyspace Bug Finder ©️: identifica errores de tiempo de ejecución, problemas de concurrencia, vulnerabilidades de seguridad y otros defectos en el software integrado C y C++.
Polyspace Code Prover ©️: proporciona verificación de código que demuestra la ausencia de desbordamiento, división por cero, acceso a matrices fuera de límites y otros errores de tiempo de ejecución en el código fuente C y C++.
scan-build: interfaz para controlar el analizador estático de Clang integrado en Clang a través de una compilación normal.
splint: verificador de programas estáticos asistido por anotaciones.
SVF: una herramienta estática que permite un análisis de dependencia entre procedimientos escalable y preciso para programas C y C++.
TrustInSoft Analyzer ©️ — Detección exhaustiva de errores de codificación y sus vulnerabilidades de seguridad asociadas. Esto abarca una detección sólida de comportamiento indefinido (desbordamientos de búfer, accesos a matrices fuera de límites, desreferencias de puntero nulo, uso después de la liberación, división por ceros, accesos a memoria no inicializados, desbordamientos firmados, aritmética de puntero no válida, etc.) , verificación del flujo de datos y del flujo de control, así como verificación funcional completa de las especificaciones formales. Se admiten todas las versiones de C hasta C18 y C++ hasta C++20. TrustInSoft Analyzer adquirirá la calificación ISO 26262 en el segundo trimestre de 2023 (TCL3). También se incluye un verificador MISRA C.
vera++
ameba: una herramienta de análisis de código estático para Crystal.
crystal: el compilador Crystal tiene una funcionalidad linting incorporada.
Métricas del código de dardos
Effective_dart — Reglas de Linter correspondientes a las pautas en Effective Dart
hilas
Linter para Dart: estilo Linter para Dart.
DelphiLint: un paquete IDE de Delphi que proporciona análisis de código y linting sobre la marcha, impulsado por SonarDelphi.
Fix Insight ©️: un complemento IDE gratuito para análisis de código estático. Una edición Pro incluye una herramienta de línea de comandos para fines de automatización.
Pascal Analyzer ©️: una herramienta de análisis de código estático con numerosos informes. Hay disponible una versión Lite gratuita con informes limitados.
Pascal Expert ©️ — Complemento IDE para análisis de código. Incluye un subconjunto de capacidades de generación de informes de Pascal Analyzer y está disponible para las versiones de Delphi 2007 y posteriores.
SonarDelphi: analizador estático de Delphi para la plataforma de calidad de código SonarQube.
credo: una herramienta de análisis de código estático centrada en la coherencia y la enseñanza del código.
dialyxir: mezcle tareas para simplificar el uso de Dialyzer en proyectos de Elixir.
sobelow: análisis estático centrado en la seguridad para Phoenix Framework.
analizar-olmo
elm-review: analiza proyectos completos de Elm, centrándose en reglas personalizadas y compartibles escritas en Elm que añaden garantías que el compilador de Elm no ofrece.
dializador: DIALYZER, un analizador de discrepancias para programas ERlang. Dialyzer es una herramienta de análisis estático que identifica discrepancias de software, como errores de tipo definido, código que ha quedado inactivo o inalcanzable debido a un error de programación y pruebas innecesarias, en módulos individuales de Erlang o (conjuntos de) aplicaciones completas. Dialyzer comienza su análisis desde el código de bytes BEAM compilado de depuración o desde el código fuente de Erlang. El archivo y el número de línea de una discrepancia se informan junto con una indicación de de qué se trata la discrepancia. Dialyzer basa su análisis en el concepto de tipificación del éxito, que permite emitir avisos sonoros (sin falsos positivos).
elvis - Revisor de estilo Erlang.
Primitive Erlang Security Tool (PEST): una herramienta para realizar un escaneo básico del código fuente de Erlang e informar cualquier llamada a función que pueda causar que el código fuente de Erlang sea inseguro.
fantomas: formateador de código fuente de F#.
FSharpLint: herramienta Lint para F#.
ionide-analyzers: una colección de analizadores de F#, creados con FSharp.Analyzers.SDK.
fprettify: formateador automático para el código fuente moderno de Fortran, escrito en Python. Fprettify es una herramienta que proporciona alineación consistente de espacios en blanco, sangrías y delimitadores en el código, incluida la capacidad de cambiar mayúsculas y minúsculas y manejar directivas de preprocesador, todo ello preservando el historial de revisiones y probando la integración del editor.
i-Code CNES para Fortran: una herramienta de análisis de código estático de código abierto para Fortran 77, Fortran 90 y Shell.
aligncheck: encuentra estructuras empaquetadas de manera ineficiente.
bodyclose: comprueba si el cuerpo de la respuesta HTTP está cerrado.
deadcode: busca código no utilizado.
cazador de dingos
trineo de perros: busca asignaciones/declaraciones con demasiados identificadores en blanco.
doble
errcheck: comprueba que se utilizan valores de retorno de error.
errwrap: ajusta y corrige los errores de Go con la nueva directiva verbal %w. Esta herramienta analiza las llamadas fmt.Errorf() e informa las llamadas que contienen una directiva verbal que es diferente a la nueva directiva verbal %w introducida en Go v1.13. También es capaz de reescribir llamadas para usar la nueva directiva %w wrap verb.
flen: obtiene información sobre la duración de las funciones en un paquete Go.
Ir a Meta Lintergolangci-lint
para nuevos proyectos.
go tool vet --shadow: informa variables que pueden haber sido sombreadas involuntariamente.
go vet: examina el código fuente de Go y reporta sospechas.
go-consistent: analizador que le ayuda a hacer que sus programas Go sean más consistentes.
go-critic: Ir al linter de código fuente que mantiene comprobaciones que actualmente no están implementadas en otros linters.
go/ast: el paquete ast declara los tipos utilizados para representar árboles de sintaxis para paquetes Go.
cabra
gochecknoglobals
goconst: busca cadenas repetidas que podrían reemplazarse por una constante.
gociclo
gofmt -s: comprueba si el código está formateado correctamente y no se puede simplificar más.
gofumpt: aplica un formato más estricto que gofmt
y, al mismo tiempo, es compatible con versiones anteriores. Es decir, gofumpt
está satisfecho con un subconjunto de formatos con los que gofmt
está satisfecho. La herramienta es una bifurcación de gofmt
a partir de Go 1.19 y requiere Go 1.18 o posterior. Puede usarse como un reemplazo directo para formatear su código Go, y ejecutar gofmt después de gofumpt no debería producir cambios. gofumpt
nunca agregará reglas que no estén de acuerdo con el formato de gofmt
. De modo que ampliamos gofmt
en lugar de competir con él.
goimports: comprueba las importaciones de paquetes faltantes o sin referencia.
gokart: análisis de seguridad de Golang centrado en minimizar los falsos positivos. Es capaz de rastrear la fuente de variables y argumentos de funciones para determinar si las fuentes de entrada son seguras.
GolangCI-Lint - Alternativa a Go Meta Linter
: GolangCI-Lint es un agregador de linters.
golint: imprime errores de estilo de codificación en el código fuente de Go.
goreporter: ejecuta simultáneamente muchos linters y normaliza su salida en un informe.
goroutine-inspect: una herramienta interactiva para analizar el volcado de rutinas de Golang.
gosec (gas): inspecciona el código fuente en busca de problemas de seguridad escaneando el Go AST.
gotype: análisis sintáctico y semántico similar al compilador Go.
govulncheck: Govulncheck informa vulnerabilidades conocidas que afectan el código Go. Utiliza análisis estático del código fuente o una tabla de símbolos binarios para limitar los informes a aquellos que podrían afectar la aplicación. De forma predeterminada, govulncheck realiza solicitudes a la base de datos de vulnerabilidades de Go en https://vuln.go.dev. Las solicitudes a la base de datos de vulnerabilidades contienen solo rutas de módulo, no código u otras propiedades de su programa.
ineffassign: detecta asignaciones ineficaces en el código Go.
interfaz
lll
difamado
error ortográfico: busca palabras en inglés comúnmente mal escritas.
nuderet: encuentra retornos desnudos.
nargs: busca argumentos no utilizados en declaraciones de funciones.
prealloc: busca declaraciones de sectores que potencialmente podrían preasignarse.
Reviewdog: una herramienta para publicar comentarios de revisión de cualquier linter en cualquier servicio de alojamiento de código.
revive: linter para Go rápido, configurable, extensible, flexible y atractivo. Reemplazo directo de golint.
segurosql
shishō
staticcheck: realice análisis estático que se especializa en encontrar errores, simplificar el código y mejorar el rendimiento.
structcheck: busca campos de estructura no utilizados.
structslop: analizador estático para Go que recomienda reordenamientos de campos de estructuras para proporcionar la máxima eficiencia de espacio/asignación
prueba: muestra la ubicación de las fallas de prueba del módulo de prueba stdlib.
desconvertir
unparam: busca parámetros de función no utilizados.
varcheck: busca constantes y variables globales no utilizadas.
wsl: aplica líneas vacías en los lugares correctos.
Bretaña
HLint: HLint es una herramienta para sugerir posibles mejoras al código Haskell.
Liquid Haskell: Liquid Haskell es un verificador de tipos de refinamiento para programas Haskell.
Stan: Stan es una herramienta de línea de comandos para analizar proyectos de Haskell y generar vulnerabilidades descubiertas de una manera útil con posibles soluciones para los problemas detectados.
Weeder: una herramienta para detectar exportaciones muertas o importaciones de paquetes en código Haskell.
Checker Framework: verificación de tipos conectable para Java. Esto no es sólo un buscador de errores, sino una herramienta de verificación que ofrece una garantía de corrección. Viene con 27 sistemas de tipos prediseñados y permite a los usuarios definir su propio sistema de tipos; El manual enumera más de 30 sistemas de tipos aportados por los usuarios.
checkstyle: verificación del código fuente de Java para verificar el cumplimiento de un estándar de código o un conjunto de reglas de validación (mejores prácticas).
ck: calcula las métricas orientadas a objetos de Chidamber y Kemerer procesando los archivos Java de origen.
ckjm: calcula las métricas orientadas a objetos de Chidamber y Kemerer procesando el código de bytes de archivos Java compilados.
CogniCrypt: comprueba el código fuente y de bytes de Java para detectar usos incorrectos de las API criptográficas.
Marco de flujo de datos: un marco de flujo de datos de potencia industrial para Java. Dataflow Framework se utiliza en Checker Framework, Error Prone de Google, NullAway de Uber, Nullsafe de Meta y en otros contextos. Se distribuye con Checker Framework.
DesigniteJava ©️ — DesigniteJava admite la detección de diversos olores de arquitectura, diseño e implementación junto con el cálculo de varias métricas de calidad del código.
Diffblue ©️: Diffblue es una empresa de software que ofrece soluciones de prueba y análisis de código basadas en inteligencia artificial para equipos de desarrollo de software. Su tecnología ayuda a los desarrolladores a automatizar las pruebas, encontrar errores y reducir el trabajo manual en sus procesos de desarrollo de software. El producto principal de la empresa, Diffblue Cover, utiliza IA para generar y ejecutar pruebas unitarias para código Java, lo que ayuda a detectar errores y mejorar la calidad del código.
Doop: Doop es un marco declarativo para el análisis estático de programas Java/Android, centrado en algoritmos de análisis de punteros. Doop proporciona una gran variedad de análisis y también el andamiaje circundante para ejecutar un análisis de un extremo a otro (generación de hechos, procesamiento, estadísticas, etc.).
ENRE-java: ENRE (ENtity Relationship Extractor) es una herramienta para extraer dependencias o relaciones de entidades de código del código fuente. ENRE-java es un ENtity Relationship Extractor para proyectos Java basado en @Eclipse JDT/parser.
Propenso a errores: detecte errores comunes de Java como errores en tiempo de compilación.
fb-contrib: un complemento para FindBugs con detectores de errores adicionales.
apis prohibidas: detecta y prohíbe invocaciones de métodos/clases/campos específicos (como leer de una secuencia de texto sin un juego de caracteres). Compatible con Maven/Gradle/Ant.
google-java-format — Reformatea el código fuente de Java para cumplir con el estilo de Google Java
cazar insectos
IntelliJ IDEA ©️: viene con muchas inspecciones para Java y Kotlin e incluye herramientas para refactorizar, formatear y más.
JArchitect ©️: mide, consulta y visualiza tu código y evita problemas inesperados, deuda técnica y complejidad.
JBMC: verificador de modelo limitado para Java (código de bytes), verifica aserciones definidas por el usuario, aserciones estándar y varios análisis de métricas de cobertura.
Mariana Trench: nuestra herramienta de análisis estático centrada en la seguridad para aplicaciones de Android y Java. Mariana Trench analiza el código de bytes de Dalvik y está diseñado para ejecutarse rápidamente en grandes bases de código (decenas de millones de líneas de código). Puede encontrar vulnerabilidades a medida que cambia el código, antes de que llegue a su repositorio.
NullAway: verificador de puntero nulo basado en tipos con baja sobrecarga de tiempo de compilación; un complemento propenso a errores.
Verificación de dependencia de OWASP: verifica las dependencias en busca de vulnerabilidades conocidas y divulgadas públicamente.
qulice: combina algunas herramientas de análisis estático (preconfiguradas) (checkstyle, PMD, Findbugs, ...).
RefactorFirst: identifica y prioriza las clases divinas y las clases altamente acopladas en bases de código Java que debe refactorizar primero.
Soot: un marco para analizar y transformar aplicaciones Java y Android.
Spoon: Spoon es una biblioteca de metaprogramación para analizar y transformar el código fuente de Java (incluido Java 9, 10, 11, 12, 13, 14). Analiza archivos fuente para crear un AST bien diseñado con una potente API de análisis y transformación. Se puede integrar en Maven y Gradle.
SpotBugs: SpotBugs es el sucesor de FindBugs. Una herramienta de análisis estático para buscar errores en el código Java.
constante: analiza sus aplicaciones Java en busca de dependencias de código abierto con vulnerabilidades conocidas, utilizando análisis estático y pruebas para determinar el contexto y el uso del código para una mayor precisión.
Violations Lib: biblioteca Java para analizar archivos de informes a partir de análisis de código estático. Utilizado por varios complementos de Jenkins, Maven y Gradle.
éter
Compilador de cierre: una herramienta de compilación para aumentar la eficiencia, reducir el tamaño y proporcionar advertencias de código en archivos JavaScript.
CierreLinter
informe de complejidad
DeepScan ©️: un analizador de JavaScript que se enfoca en errores de tiempo de ejecución y problemas de calidad en lugar de convenciones de codificación.
es6-platón
escomplejo
Esprima
flow: un verificador de tipos estáticos para JavaScript.
hegel: un verificador de tipos estáticos para JavaScript con un sesgo en la inferencia de tipos y sistemas de tipos fuertes.
jshint: detecta errores y posibles problemas en el código JavaScript y aplica las convenciones de codificación de tu equipo.
JSLint: la herramienta de calidad del código JavaScript.
JSPrime
NodeJSScan: un escáner de códigos de seguridad estáticos para aplicaciones Node.js con tecnología de libsast y semgrep que se basa en la herramienta cli njsscan. Cuenta con una interfaz de usuario con varios paneles sobre el estado de seguridad de una aplicación.
Platón
Analizador de polímeros: un marco de análisis estático para componentes web.
retire.js: escáner que detecta el uso de bibliotecas de JavaScript con vulnerabilidades conocidas.
RSLint
estándar: un módulo npm que busca problemas con la guía de estilo de Javascript.
tern: un analizador de código JavaScript para un soporte profundo de lenguajes entre editores.
Tipo L
xo: contenedor ESLint obstinado pero configurable con muchas ventajas incluidas. Aplica un código estricto y legible.
criterio
JET: sistema de inferencia de tipos estáticos para detectar errores e inestabilidades de tipos.
StaticLint: análisis de código estático para Julia
detekt: análisis de código estático para código Kotlin.
diktat: estándar de codificación estricto para Kotlin y un linter que detecta y corrige automáticamente los olores del código.
ktfmt: un programa que reformatea el código fuente de Kotlin para cumplir con el estándar comunitario común para las convenciones del código de Kotlin. Hay un complemento ktfmt IntelliJ disponible en el repositorio de complementos. Para instalarlo, vaya a la configuración de su IDE y seleccione la categoría Complementos. Haga clic en la pestaña Marketplace, busque el complemento ktfmt y haga clic en el botón Instalar.
ktlint: un linter Kotlin anti-bikeshed con formateador incorporado.
luacheck: una herramienta para el análisis estático y de linting del código Lua.
lualint: lualint realiza un análisis estático basado en luac del uso de variables globales en el código fuente de Lua.
Luanálisis
DrNim: DrNim combina la interfaz de Nim con el motor de prueba Z3 para permitir verificar/validar el software escrito en Nim.
nimfmt — Formateador de código Nim/linter/comprobador de estilo
Sys: una herramienta estática/simbólica para encontrar errores en el código (del navegador). Utiliza LLVM AST para encontrar errores como el acceso a memoria no inicializada.
VeriFast: una herramienta para la verificación formal modular de las propiedades de corrección de programas C y Java de subproceso único y multiproceso anotados con condiciones previas y posteriores escritas en lógica de separación. Para expresar especificaciones ricas, el programador puede definir los tipos de datos inductivos, las funciones puras recursivas primitivas sobre estos tipos de datos y los predicados lógicos de separación abstractos.
CakeFuzzer-Herramienta de prueba de seguridad de aplicaciones web para aplicaciones web basadas en CakePHP. CakeFuzzer emplea un conjunto predefinido de ataques que se modifican al azar antes de la ejecución. Aprovechando su comprensión profunda del marco PHP PHP, Cake Fuzzer lanza ataques en todos los posibles puntos de entrada de aplicaciones.
Churn-PHP-ayuda a descubrir buenos candidatos para la refactorización.
Compositor-dependencia-analizador: detección rápida de problemas de dependencia del compositor.
Dephpend - Herramienta de análisis de dependencia.
Detector de deprecación: encuentra usos del código desapercibido (Symfony).
DEPTRAC: aplique reglas para dependencias entre capas de software.
DesignPatternDetector - Detección de patrones de diseño en el código PHP.
EasyCoding Standard: combine PHP_CODESNIFFER y PHP-CS-FIXER.
Enlightn: una herramienta de análisis estático y dinámico para aplicaciones de Laravel que proporciona recomendaciones para mejorar el rendimiento, la seguridad y la confiabilidad del código de las aplicaciones de Laravel. Contiene 120 cheques automatizados.
EXAKAT: un motor de revisión de código automatizado para PHP.
GRUMPHP: verifica el código en cada confirmación.
Larastan: agrega análisis estático a la mejora de la productividad del desarrollador y la calidad del código. Es un envoltorio alrededor de Phpstan.
Monedrino
NITPICK CI © ️ - Revisión automatizada del código PHP.
Lint paralelo: esta herramienta verifica la sintaxis de los archivos PHP más rápido que la verificación de serie con una salida más elegante.
PARSE - Un escáner de seguridad estática.
PDepend: calcula las métricas de software como la complejidad ciclomática para el código PHP.
PHAN - Un analizador estático moderno de Etsy.
PHP Architecture Tester: herramienta de prueba de arquitectura fácil de usar para PHP.
Suposiciones de PHP: verificación de suposiciones débiles.
Corrección de estándares de codificación PHP: corrige su código de acuerdo con estándares como PSR-1, PSR-2 y el estándar Symfony.
PHP Insights: controles instantáneos de calidad de PHP desde su consola. Análisis de la calidad del código y el estilo de codificación, así como una descripción general de la arquitectura del código y su complejidad.
Inspecciones de PHP (EA extendida): un analizador de código estático para PHP.
PHP Refactoring Browser - Refactoring Helper.
PHP Semántico Versiones verificadoras
PHP-Parser: un analizador PHP escrito en PHP.
PHP-Speller-Biblioteca de corrección ortográfica de PHP.
Reflexión de php-token
php7cc
Php7Mar
PHP_CODESNIFFER: detecta violaciones de un conjunto definido de estándares de codificación.
PHPARKITECT - PhParkitect lo ayuda a mantener su base de código PHP coherente y sólida, permitiendo agregar alguna verificación de restricción arquitectónica a su flujo de trabajo. Puede expresar la restricción que desea aplicar, en código PHP simple y legible.
PHPCA
phpcpd
phpdcd
PhpDependency Eanálisis
PHPDeprecationDetector - Analizador del código PHP para buscar problemas con la funcionalidad destrozada en versiones de intérpretes más recientes. Encuentra objetos eliminados (funciones, variables, constantes e ini-directivos), funcionalidad de funciones desactivadas y uso de nombres o trucos prohibidos (por ejemplo, identificadores reservados en versiones más nuevas).
phpdoc-typehint
PHPDocumentor: analiza el código fuente de PHP para generar documentación.
PHPLOC: una herramienta para medir rápidamente el tamaño y analizar la estructura de un proyecto PHP.
PHPMD: encuentra posibles errores en su código.
PhPMetrics: calcula y visualiza varias métricas de calidad de código.
PHPMND - Ayuda a detectar números mágicos.
Phpqa
PHPQA - JAKZAL - Muchas herramientas para el análisis estático de PHP en un contenedor.
PHPQA-JMolivas-Herramienta CLI de analizador All-in-One PHPQA.
PHPSA
PHPSTAN - Herramienta de análisis estático PHP - ¡Descubra errores en su código sin ejecutarlo!
Progpilot: una herramienta de análisis estático para fines de seguridad.
Salmo: herramienta de análisis estático para encontrar errores de tipo en aplicaciones PHP.
Analizador de calidad QAFOO
Rector: actualizaciones instantáneas y refactorización automatizada de cualquier código PHP 5.3+. Actualiza su código para PHP 7.4, 8.0 y más allá. Rector promete una baja tasa de falsos positivos porque busca patrones de AST (abstracto de sintaxis abstractos). El principal caso de uso es abordar la deuda técnica en su código heredado y eliminar el código muerto. Rector proporciona un conjunto de reglas especiales para Symfony, Doctrine, Phpunit y muchas más.
Reflexión: biblioteca de reflexión para realizar análisis estáticos para proyectos de PHP
Symfony Insight © ️ - Detectar riesgos de seguridad, encontrar errores y proporcionar métricas procesables para proyectos de PHP.
Tuli - Un motor de análisis estático.
TWIG-LINT-Twig-Lint es una herramienta de pelusa para sus archivos de ramita.
WAP: herramienta para detectar y corregir las vulnerabilidades de validación de entrada en aplicaciones web PHP (4.0 o superiores) y predice falsos positivos al combinar análisis estático y minería de datos.
PERL :: Analyzer-Perl-Analyzer es un conjunto de programas y módulos que permiten a los usuarios analizar y visualizar las bases de código de Perl proporcionando información sobre espacios de nombres y sus relaciones, dependencias, herencia y métodos implementados, heredados y redefinidos en paquetes, también bien. como llamadas a los métodos de los paquetes principales a través de Super.
Perl :: Critic-Critique Perl Fuente Código de las mejores prácticas.
Perltidy: la perltidy es un guión de Perl que andina y reforma los guiones de Perl para que sean más fáciles de leer. El formato se puede controlar con parámetros de línea de comando. La configuración de parámetros predeterminada sigue aproximadamente las sugerencias en la guía de estilo Perl. Además de los guiones reformatorios, Perltidy puede ser de gran ayuda para rastrear errores con aparatos ortopédicos, paréntesis y soportes cuadrados faltantes porque es muy bueno para localizar los errores.
ZARN - Una herramienta de análisis de seguridad estática ligera para aplicaciones modernas de Perl
Autoflake: Autoflake elimina las importaciones no utilizadas y las variables no utilizadas del código Python.
AutoPep8: una herramienta que formatea automáticamente el código Python para ajustarse a la guía de estilo PEP 8. Utiliza la utilidad PyCodestyle para determinar qué partes del código deben formatearse.
Bandit: una herramienta para encontrar problemas de seguridad comunes en el código Python.
BellyButton: un motor de peluche que admite reglas específicas de proyectos personalizadas.
Negro: el formateador de código Python intransigente.
Bowler - refactorización de código seguro para la pitón moderna. Bowler es una herramienta de refactorización para manipular la pitón en el nivel de árbol de sintaxis. Habilita modificaciones de código seguro a gran escala al tiempo que garantiza que el código resultante compile y se ejecute. Proporciona una interfaz de línea de comando simple y una API fluida en Python para generar modificaciones de código complejos en código.
ciocheckpep8
, pydocstyle
, flake8
y pylint
.
cohesión
Deal - Diseño por contrato para Python. Escribe código libre de errores. Al agregar algunos decoradores a su código, obtiene pruebas gratuitas, análisis estático, verificación formal y mucho más.
DLINT: una herramienta para garantizar que el código de Python sea seguro.
Dudgia: Dodgy es una herramienta muy básica para correr contra su base de código para buscar valores de aspecto "dudoso". Es una serie de expresiones regulares simples diseñadas para detectar cosas como checkins accidentales SCM Diff, contraseñas o claves secretas codificadas en archivos.
Enre-py
Fixit: un marco para crear reglas de pelusa y las fijaciones automáticas correspondientes para el código fuente.
Flake8: un envoltorio alrededor de pyflakes
, pycodestyle
y mccabe
.
FlakeHeaven - FlakeHeaven es un enlace de Python construido alrededor de Flake8 para permitir la configuración Toml heredable y compleja.
Griffe: firmas para programas enteros de Python. Extraiga la estructura, el marco, el esqueleto de su proyecto, para generar documentación de API o encontrar cambios de ruptura en su API.
Inspector
Jedi - Biblioteca de análisis de autocompletación/estática para Python.
Linty Fresh: analice los errores de pelusa e repórtalos a Github como comentarios sobre una solicitud de extracción.
McCabe - Compruebe la complejidad de McCabe.
múltiplesflake8
, isort
y modernize
.
MYPY: un verificador de tipo estático que tiene como objetivo combinar los beneficios de la tipificación de patos y la tipificación estática, con frecuencia con type de mono.
Prospector: un envoltorio alrededor de pylint
, pep8
, mccabe
y otros.
inyección de fútbol
Pyanalyze: una herramienta para detectar programáculos en el código de Python, como referencias a variables indefinidas y errores de tipo. Se puede extender para agregar reglas adicionales y realizar comprobaciones específicas de funciones particulares.
Pycodequal © ️ - Pycodequal le brinda información sobre la complejidad y los riesgos de errores. Agrega revisiones automáticas a sus solicitudes de extracción.
PYCODESTYLE - (Anteriormente pep8
) verifique el código de Python con algunas de las convenciones de estilo en PEP 8.
pydocstyle
Pyflakes: revise los archivos de origen de Python para ver los errores.
Pylint: busca errores de programación, ayuda a hacer cumplir un estándar de codificación y olfatea algunos olores de código. También incluye pyreverse
(un generador de diagrama UML) y symilar
(un verificador de similitudes).
Pylyzers: un analizador de código estático / servidor de lenguaje para Python, escrito en óxido, centrado en el tipo de verificación y salida legible.
Pyre-Check: un verificador de tipo rápido y escalable para grandes bases de código Python.
Pyright: verificador de tipo estático para Python, creado para abordar las brechas en herramientas existentes como Mypy.
piroma
PYSA: una herramienta basada en la verificación de pyre de Facebook para identificar posibles problemas de seguridad en el código de Python identificados con el análisis de contaminación.
Pyt - Python Taint
Pytype: un analizador de tipo estático para el código Python.
Pyupgrade: una herramienta (y un gancho previo al compromiso) para actualizar automáticamente la sintaxis para versiones más nuevas del idioma.
Código cuantificado
Radón: una herramienta Python que calcula varias métricas del código fuente.
Renovación: una herramienta para restaurar y modernizar las bases de código de Python. La renovación está fuertemente inspirada en Clippy, el enlace incorporado para el óxido.
Ruff - Línea rápida de Python, escrita en Rust. 10-100X más rápido que las deleras existentes. Compatible con Python 3.10. Admite el observador de archivos.
Unpport: un enlace, formatero para encontrar y eliminar declaraciones de importación no utilizadas.
Buitre: encuentre clases, funciones y variables no utilizadas en el código Python.
Guía de estilo Wemake-Python: la línea de pitón más estricta y obstinada de la historia.
astuto