
Directorio curado de herramientas de análisis estático (SAST) y linters para lenguajes de programación, configuraciones, herramientas de compilación y CI, enfocado en mejorar la calidad del código.
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. El enfoque está en herramientas que mejoran la calidad del código, como linters y formateadores. El sitio web oficial, analysis-tools.dev está basado en este repositorio y añade rankings, comentarios de usuarios y recursos adicionales como vídeos para cada herramienta.
Este proyecto no sería posible sin el generoso apoyo de nuestros patrocinadores.
Si también quieres apoyar este proyecto, visita nuestra página de patrocinadores de Github.
¡Las pull requests son muy bienvenidas!
También echa un vistazo al proyecto hermano, awesome-dynamic-analysis.
abaplint — Linter para ABAP, escrito en TypeScript.
abapOpenChecks — Mejora el SAP Code Inspector con nuevas comprobaciones personalizables.
Polyspace for Ada ©️ — Proporciona verificación de código que demuestra la ausencia de desbordamiento, división por cero, accesos a arreglos fuera de límites y ciertos 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 tiempo de ejecución y de comportamiento concurrente no válido en aplicaciones C/C++. Es sólido para cálculos de coma flotante, muy rápido y excepcionalmente preciso. El analizador también comprueba reglas de codificación MISRA/CERT/CWE/Adaptive Autosar y admite la cualificación para ISO 26262, DO-178C nivel A y otros estándares de seguridad. Hay complementos para Jenkins y Eclipse disponibles.
CBMC — Comprobador de modelos acotado para programas C, aserciones definidas por el usuario, aserciones estándar y varios análisis de métricas de cobertura.
clang-tidy — Herramienta linter de C++ basada en Clang con la capacidad (limitada) de corregir problemas también.
clazy — Analizador de código estático orientado a Qt basado en el framework Clang. clazy es un complemento de compilador que permite a clang entender la semántica de Qt. Obtienes más de 50 advertencias de compilador relacionadas con Qt, que van desde asignaciones de memoria innecesarias hasta el mal uso de la API, incluyendo fix-its para refactorización automática.
CMetrics — Mide el tamaño y la complejidad de archivos C.
CPAchecker — Una herramienta para la verificación configurable de software de programas C. El nombre CPAchecker fue elegido para reflejar que la herramienta se basa en los conceptos de CPA y se utiliza para comprobar programas de software.
cppcheck — Análisis estático de código C/C++.
CppDepend ©️ — Mide, consulta y visualiza tu código y evita 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 y código de preprocesador de C.
.NET Analyzers — Una organización para el desarrollo de analizadores (diagnósticos y correcciones de código) mediante la Plataforma de Compiladores .NET.
ArchUnitNET — Una biblioteca de pruebas de arquitectura para C# que permite especificar y verificar reglas de arquitectura en C# para pruebas automatizadas.
code-cracker — Una biblioteca de analizadores para C# y VB que usa Roslyn para producir refactorizaciones, análisis de código y otras ventajas.
CSharpEssentials ⚠️ — C# Essentials es una colección de analizadores de diagnóstico de Roslyn, correcciones de código y refactorizaciones que facilitan el trabajo con las características del lenguaje C# 6.
Designite ©️ — Designite permite la detección de varios code smells de arquitectura, diseño e implementación, el cálculo de diversas métricas de calidad de 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).
Infer# ⚠️ — InferSharp (también conocido como Infer#) es un analizador de código estático interprocedural y escalable para C#. Mediante las capacidades de Infer de Facebook, esta herramienta detecta desreferencias de puntero nulo y fugas de recursos.
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 ©️ — Mide, consulta y visualiza tu código y evita 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.) mientras 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#, impulsada por Roslyn.
Astrée ©️ — Astrée demuestra automáticamente la ausencia de errores de tiempo de ejecución y de comportamiento concurrente no válido en aplicaciones C/C++. Es sólido para cálculos de coma flotante, muy rápido y excepcionalmente preciso. El analizador también comprueba reglas de codificación MISRA/CERT/CWE/Adaptive Autosar y admite la cualificación para ISO 26262, DO-178C nivel A y otros estándares de seguridad. Hay complementos para Jenkins y Eclipse disponibles.
CBMC — Comprobador de modelos acotado para programas C, aserciones definidas por el usuario, aserciones estándar y varios análisis de métricas de cobertura.
clang-tidy — Herramienta linter de C++ basada en Clang con la capacidad (limitada) de corregir problemas también.
clazy — Analizador de código estático orientado a Qt basado en el framework Clang. clazy es un complemento de compilador que permite a clang entender la semántica de Qt. Obtienes más de 50 advertencias de compilador relacionadas con Qt, que van desde asignaciones de memoria innecesarias hasta el mal uso de la API, incluyendo fix-its para refactorización automática.
CMetrics — Mide el tamaño y la complejidad de archivos C.
cppcheck — Análisis estático de código C/C++.
CppDepend ©️ — Mide, consulta y visualiza tu código y evita 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 y código de preprocesador de C.
ENRE-cpp ⚠️ — ENRE (ENtity Relationship Extractor) es una herramienta para la extracción de dependencias o relaciones de entidades de código a partir del código fuente. ENRE-cpp es un extractor de relaciones de entidades para C/C++ basado en @eclipse/CDT. (En desarrollo)
ameba — Una herramienta de análisis de código estático para Crystal.
crystal — El compilador Crystal tiene funcionalidad de linting integrada.
Dart Code Metrics ⚠️ — Linter adicional para Dart. Informa sobre métricas de código, comprueba anti-patrones y proporciona reglas adicionales para el analizador de Dart.
effective_dart — Reglas de linter correspondientes a las directrices de Effective Dart
lint ⚠️ — Un conjunto de reglas de lint comunitario y con criterio propio para proyectos Dart y Flutter. Como pedantic pero más estricto
Linter for dart ⚠️ — Linter de estilo para Dart.
DelphiLint — Un paquete de IDE para Delphi que proporciona análisis de código y linting sobre la marcha, impulsado por SonarDelphi.
Fix Insight ©️ — Un plugin de 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 ©️ — Plugin de IDE para análisis de código. Incluye un subconjunto de las capacidades de generación de informes de Pascal Analyzer y está disponible para 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 del código y la enseñanza.
dialyxir — Tareas de Mix para simplificar el uso de Dialyzer en proyectos Elixir.
sobelow — Análisis estático centrado en la seguridad para el Framework Phoenix.
elm-analyse ⚠️ — Una herramienta que te permite analizar tu código Elm, identificar deficiencias y aplicar mejores prácticas.
elm-review — Analiza proyectos Elm completos, con un enfoque en reglas personalizadas y compartibles escritas en Elm que añaden garantías que el compilador de Elm no te ofrece.
dialyzer — El DIALYZER, un DIscrepancy AnaLYZER para programas ERlang. Dialyzer es una herramienta de análisis estático que identifica discrepancias de software, como errores de tipo definitivos, código que se ha vuelto muerto o inalcanzable debido a errores de programación, y pruebas innecesarias, en módulos Erlang individuales o en conjuntos completos de aplicaciones. Dialyzer inicia su análisis desde bytecode BEAM compilado en modo debug o desde código fuente Erlang. Se informa del archivo y número de línea de una discrepancia junto con una indicación de en qué consiste la discrepancia. Dialyzer basa su análisis en el concepto de success typings, lo que permite advertencias sólidas (sin falsos positivos).
elvis — Revisor de estilo de Erlang.
Primitive Erlang Security Tool (PEST) ⚠️ — Una herramienta para realizar un escaneo básico del código fuente de Erlang e informar de cualquier llamada a función que pueda hacer que el código fuente de Erlang sea inseguro.
fantomas — Formateador de código fuente F#.
FSharpLint — Herramienta de lint para F#.
ionide-analyzers — Una colección de analizadores de F#, construida con FSharp.Analyzers.SDK.
Fortitude — Linter de Fortran, inspirado en (y construido sobre) Ruff, y basado en las mejores prácticas de la comunidad. Compatible con el estándar más reciente de Fortran (2023).
fprettify — Autoformateador para código fuente Fortran moderno, escrito en Python. Fprettify es una herramienta que proporciona espacios en blanco, sangría y alineación de delimitadores coherentes en el código, incluida la capacidad de cambiar mayúsculas y minúsculas y gestionar directivas de preprocesador, todo ello mientras preserva el historial de revisiones y está probada para la integración con editores.
i-Code CNES for Fortran ⚠️ — Una herramienta de análisis de código estático de código abierto para Fortran 77, Fortran 90 y Shell.
aligncheck — Encuentra structs empaquetados de forma ineficiente.
bodyclose — Comprueba si el cuerpo de la respuesta HTTP está cerrado.
deadcode — Encuentra código sin usar.
dingo-hunter ⚠️ — Analizador estático para encontrar deadlocks (bloqueos mutuos) en Go.
dogsled — Encuentra asignaciones/declaraciones con demasiados identificadores en blanco.
dupl — Informa sobre código potencialmente duplicado.
errcheck — Comprueba que se utilizan los valores de retorno de error.
errwrap ⚠️ — Envuelve y corrige errores de Go con la nueva directiva de verbo %w. Esta herramienta analiza las llamadas a fmt.Errorf() e informa de las llamadas que contienen una directiva de verbo diferente a la nueva directiva de verbo %w introducida en Go v1.13. También es capaz de reescribir llamadas para usar la nueva directiva de verbo de envoltura %w.
flen — Obtén información sobre la longitud de las funciones en un paquete Go.
Go Meta Linter ⚠️ — Ejecuta concurrentemente herramientas de lint de Go y normaliza su salida. Usa golangci-lint para proyectos nuevos.
go tool vet --shadow — Informa sobre variables que pueden haber sido ensombrecidas sin intención.
go vet — Examina el código fuente de Go e informa de construcciones sospechosas.
go-consistent ⚠️ — Analizador que te ayuda a hacer tus programas Go más coherentes.
go-critic — Linter de código fuente de Go que mantiene comprobaciones que actualmente no están implementadas en otros linters.
brittany ⚠️ — Formateador de código fuente Haskell
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 Haskell y mostrar las vulnerabilidades descubiertas de forma ú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 — Comprobación de tipos conectable (pluggable) para Java. No es solo un buscador de errores, sino una herramienta de verificación que ofrece una garantía de corrección. Viene con 27 sistemas de tipos preconstruidos y permite a los usuarios definir su propio sistema de tipos; el manual enumera más de 30 sistemas de tipos aportados por usuarios.
checkstyle — Comprueba que el código fuente Java cumpla con 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 fuente Java.
ckjm — Calcula las métricas orientadas a objetos de Chidamber y Kemerer procesando el bytecode de archivos Java compilados.
CogniCrypt ⚠️ — Comprueba el código fuente y el bytecode de Java en busca de usos incorrectos de APIs criptográficas.
Dataflow Framework — Un framework de flujo de datos de nivel industrial para Java. El 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 permite la detección de varios code smells de arquitectura, diseño e implementación, junto con el cálculo de diversas métricas de calidad de código.
Diffblue ©️ — Diffblue es una empresa de software que ofrece soluciones de análisis de código y pruebas impulsadas por IA 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 framework 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 principio a fin (generación de hechos, procesamiento, estadísticas, etc.).
aether ⚠️ — Aplica lint, analiza, normaliza, transforma, aísla, ejecuta, recorre y visualiza JavaScript de usuario, en node o en el navegador.
Closure Compiler — Una herramienta compiladora para aumentar la eficiencia, reducir el tamaño y proporcionar advertencias de código en archivos JavaScript.
ClosureLinter ⚠️ — Garantiza que todo el código JavaScript de tu proyecto siga las pautas de la Guía de Estilo JavaScript de Google. También puede corregir automáticamente muchos errores comunes.
complexity-report ⚠️ — Análisis de complejidad de software para proyectos JavaScript.
DeepScan ©️ — Un analizador para JavaScript que se centra en errores de ejecución y problemas de calidad en lugar de convenciones de codificación.
es6-plato ⚠️ — Visualiza la complejidad del código fuente JavaScript (ES6).
escomplex — Análisis de complejidad de software de árboles de sintaxis abstracta de la familia JavaScript.
Esprima ⚠️ — Infraestructura de análisis sintáctico ECMAScript para análisis multipropósito.
flow — Un comprobador de tipos estático para JavaScript.
hegel ⚠️ — Un comprobador de tipos estático para JavaScript con énfasis en la inferencia de tipos y los sistemas de tipos fuertes.
jshint ℹ️ — Detecta errores y problemas potenciales en el código JavaScript y hace cumplir las convenciones de codificación de tu equipo.
JSPrime ⚠️ — Herramienta de análisis estático de seguridad.
JET — Sistema de inferencia de tipos estático 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 code smells.
ktfmt — Un programa que reformatea el código fuente Kotlin para cumplir con el estándar comunitario común para las convenciones de código Kotlin. Un plugin de ktfmt para IntelliJ está disponible en el repositorio de plugins. Para instalarlo, ve a la configuración de tu IDE y selecciona la categoría Plugins. Haz clic en la pestaña Marketplace, busca el plugin ktfmt y haz clic en el botón Install.
ktlint — Un linter de Kotlin anti-bikeshedding con formateador integrado.
luacheck — Una herramienta para el linting y el análisis estático de código Lua.
lualint — lualint realiza un análisis estático basado en luac del uso de variables globales en el código fuente Lua.
Luanalysis ⚠️ — Un IDE para el desarrollo de Lua con tipado estático.
MISS_HIT ⚠️ — MISS_HIT es un conjunto de herramientas de calidad de código gratuito y de código abierto para MATLAB, Simulink y Octave. Incluye MH Style (comprobador de estilo y formateador), MH Metrics (métricas de complejidad), MH Lint (análisis estático), MH Trace (trazabilidad de requisitos) y MH Copyright (gestión de derechos de autor). Diseñado para funcionar de forma independiente sin requerir instalación de MATLAB/Octave.
mlint ©️ — Comprueba los archivos de código MATLAB en busca de posibles problemas.
DrNim — DrNim combina el frontend de Nim con el motor de demostración Z3 para permitir verificar / validar 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 código de (navegador). Utiliza el AST de LLVM para encontrar errores como el acceso a memoria no inicializada.
VeriFast — Una herramienta para la verificación formal modular de propiedades de corrección de programas C y Java de un solo hilo y multihilo anotados con precondiciones y postcondiciones escritas en lógica de separación. Para expresar especificaciones ricas, el programador puede definir tipos de datos inductivos, funciones recursivas primitivas puras sobre estos tipos de datos y predicados abstractos de lógica de separación.
CakeFuzzer — Herramienta de pruebas de seguridad de aplicaciones web para aplicaciones web basadas en CakePHP. CakeFuzzer emplea un conjunto predefinido de ataques que se modifican aleatoriamente antes de la ejecución. Aprovechando su profundo conocimiento del framework Cake PHP, Cake Fuzzer lanza ataques a todos los puntos de entrada potenciales de la aplicación.
churn-php — Ayuda a descubrir buenos candidatos para la refactorización.
composer-dependency-analyser — Detección rápida de problemas de dependencias de composer.
dephpend — Herramienta de análisis de dependencias.
deprecation-detector — Encuentra usos de código obsoleto (deprecated) de Symfony.
deptrac — Hace cumplir reglas para las dependencias entre capas de software.
DesignPatternDetector — Detección de patrones de diseño en código PHP.
EasyCodingStandard — Combina PHP_CodeSniffer y PHP-CS-Fixer.
Enlightn ⚠️ — Una herramienta de análisis estático y dinámico para aplicaciones Laravel que proporciona recomendaciones para mejorar el rendimiento, la seguridad y la fiabilidad del código de las aplicaciones Laravel. Contiene 120 comprobaciones automatizadas.
exakat — Un motor automatizado de revisión de código para PHP.
GrumPHP — Comprueba el código en cada commit.
larastan — Añade análisis estático a Laravel mejorando la productividad del desarrollador y la calidad del código. Es un envoltorio alrededor de PHPStan.
mago — Mago es un toolchain completo para PHP, escrito en Rust, diseñado desde cero para obtener el máximo rendimiento.
✨ Un formateador rapidísimo que formatea automáticamente tu código según PER-CS, acabando para siempre con los debates de estilo. - 🔎 Un linter inteligente que detecta problemas de estilo, inconsistencias y code smells antes de que se conviertan en problemas. - 🔬 Un potente analizador estático que encuentra errores de tipos y bugs lógicos en tu código sin necesidad de ejecutarlo. - 🛡️ Un guardián arquitectónico robusto que hace cumplir reglas de dependencias y convenciones estructurales.
Mondrian ⚠️ — Un conjunto de herramientas de análisis estático y refactorización que utilizan la teoría de grafos.
Perl::Analyzer — Perl-Analyzer es un conjunto de programas y módulos que permiten a los usuarios analizar y visualizar bases de código Perl proporcionando información sobre los espacios de nombres y sus relaciones, dependencias, herencia y métodos implementados, heredados y redefinidos en los paquetes, así como llamadas a métodos de paquetes padre mediante SUPER.
Perl::Critic — Critica el código fuente Perl en busca de mejores prácticas.
perltidy — Perltidy es un script Perl que sangra y reformatea scripts Perl para hacerlos más fáciles de leer. El formato se puede controlar con parámetros de línea de comandos. La configuración de parámetros por defecto sigue aproximadamente las sugerencias de la Guía de Estilo Perl. Además de reformatear scripts, Perltidy puede ser de gran ayuda para localizar errores con llaves, paréntesis y corchetes faltantes o sobrantes, porque es muy bueno localizando errores.
zarn — Una herramienta ligera de análisis de seguridad estático para aplicaciones Perl modernas
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 que cumpla con la guía de estilo PEP 8. Utiliza la utilidad pycodestyle para determinar qué partes del código necesitan ser formateadas.
bandit — Una herramienta para encontrar problemas de seguridad comunes en código Python.
bellybutton — Un motor de linting que admite reglas personalizadas específicas del proyecto.
Black — El formateador de código Python sin concesiones.
Bowler — Refactorización segura de código para Python moderno. Bowler es una herramienta de refactorización para manipular Python a nivel de árbol de sintaxis. Permite modificaciones de código seguras y a gran escala, garantizando que el código resultante compile y se ejecute. Proporciona tanto una interfaz de línea de comandos simple como una API fluida en Python para generar modificaciones de código complejas.
ciocheck ⚠️ — Linter, formateador y asistente de suite de pruebas. Como linter, es un envoltorio alrededor de pep8, pydocstyle, flake8 y pylint.
cohesion ⚠️ — Una herramienta para medir la cohesión de clases Python.
deal — Diseño por contrato para Python. Escribe código sin errores. Al añadir unos pocos decoradores a tu código, obtienes gratis tests, análisis estático, verificación formal y mucho más.
CodeDepends — Análisis estático de código para R.
cyclocomp — Cuantifica la complejidad ciclomática de funciones/expresiones de R.
flowR — Un slicer de programas y analizador de flujo de datos para el lenguaje de programación R. Su slicer te permite reducir un programa complicado solo a las partes relacionadas con una tarea específica (por ejemplo, la generación de un gráfico o un conjunto de gráficos, una prueba de significancia, ...). El análisis de flujo de datos te proporciona una vista detallada de la semántica del código R, lo que puede mejorar enormemente otros análisis. Para usar flowR, consulta la extensión de Visual Studio Code, el Addin de RStudio, la imagen de Docker o el paquete de R.
goodpractice — Analiza el código fuente de paquetes de R y proporciona recomendaciones de mejores prácticas.
lintr — Análisis estático de código para R.
R Language Server — Proporciona autocompletado, refactorización, plegado, diagnósticos (con lintr) y más para R.
rco — Optimizador de rendimiento para código R (con GUI).
styler — Formateo de archivos de código fuente de R y embellecimiento de código R.
Active Record Doctor — Identifica problemas de base de datos antes de que lleguen a producción.
brakeman — Un escáner de vulnerabilidades de seguridad de análisis estático para aplicaciones Ruby on Rails.
Bullet — Ayuda a eliminar consultas N+1 y la carga anticipada no utilizada.
bundler-audit — Audita Gemfile.lock en busca de gemas con vulnerabilidades de seguridad reportadas en Ruby Advisory Database.
cane ⚠️ — Comprobación de umbrales de calidad de código como parte de tu compilación.
Churn ⚠️ — Un proyecto para proporcionar la rotación (churn) de archivos, clases y métodos para un proyecto en un checkin determinado. Con el tiempo, la herramienta acumula el historial de cambios para indicar cuántas veces un archivo, clase o método cambia durante la vida de un proyecto.
DatabaseConsistency — La herramienta para evitar diversos problemas debidos a inconsistencias e ineficiencias entre un esquema de base de datos y los modelos de la aplicación.
dawnscanner — Un escáner de seguridad de análisis estático para aplicaciones web escritas en Ruby. Soporta los frameworks Sinatra, Padrino y Ruby on Rails.
ERB Lint — Aplica lint a tus archivos ERB o HTML.
ERB::Formatter — Formatea archivos ERB con rapidez y precisión.
Fasterer — Comprobador de modismos comunes de Ruby.
flay — Flay analiza el código en busca de similitudes estructurales.
flog — Flog informa del código más torturado en un informe de dolor fácil de leer. Cuanto mayor es la puntuación, más dolor sufre el código.
C2Rust — C2Rust te ayuda a migrar código compatible con C99 a Rust. El traductor (o transpilador) produce código Rust inseguro (unsafe) que refleja fielmente el código C de entrada.
cargo udeps — Encuentra dependencias no utilizadas en Cargo.toml. O bien imprime una línea de "crates no utilizados" listando los crates, o imprime una línea diciendo que no hay crates sin usar.
cargo-audit — Audita Cargo.lock en busca de crates con vulnerabilidades de seguridad reportadas a la RustSec Advisory Database.
cargo-bloat ⚠️ — Descubre qué ocupa más espacio en tu ejecutable. Soporta binarios ELF (Linux, BSD), Mach-O (macOS) y PE (Windows).
cargo-breaking — cargo-breaking compara la API pública de un crate entre dos ramas diferentes, muestra qué ha cambiado y sugiere la siguiente versión según semver.
cargo-call-stack — Análisis estático de pila de todo el programa. La herramienta produce el grafo de llamadas completo de un programa como archivo dot.
cargo-deny — Un plugin de cargo para aplicar lint a tus dependencias. Puede usarse como herramienta de línea de comandos, crate de Rust o acción de GitHub para CI. Comprueba información de licencias válida, crates duplicados, vulnerabilidades de seguridad y más.
cargo-expand — Subcomando de Cargo para mostrar el resultado de la expansión de macros y de #[derive] aplicada al crate actual. Es un envoltorio de un comando de compilador más verboso.
cargo-geiger — Un plugin de cargo para analizar el uso de código Rust inseguro (unsafe). Proporciona salida estadística para ayudar en la auditoría de seguridad.
cargo-inspect ⚠️ — Inspecciona código Rust sin azúcar sintáctico para ver qué hace el compilador entre bastidores.
cargo-semver-checks — Analiza tus lanzamientos de crates de Rust en busca de violaciones de semver. Puede usarse directamente mediante la CLI, como GitHub Action en CI, o mediante gestores de lanzamiento como . Encontró violaciones de semver en en crates.io.
linter-rust ⚠️ — Aplica lint a tus archivos Rust en Atom, usando rustc y cargo.
lockbud — Detecta estáticamente bugs de deadlock en Rust. Actualmente detecta dos tipos comunes de bugs de deadlock: doble bloqueo y bloqueos en orden conflictivo. Imprimirá los bugs en formato JSON junto con la ubicación del código fuente y una explicación de cada bug.
MIRAI ⚠️ — Un intérprete abstracto que opera sobre el lenguaje intermedio de nivel medio de Rust y proporciona advertencias basadas en análisis de taint.
prae ⚠️ — Proporciona una macro conveniente que te permite generar envoltorios de tipos que prometen mantener siempre los invariantes arbitrarios que especifiques.
Prusti ⚠️ — Un verificador estático para Rust, basado en la infraestructura de verificación Viper. Por defecto, Prusti verifica la ausencia de pánicos demostrando que sentencias como unreachable!() y panic!() son inalcanzables.
Rudra — Detección de seguridad de memoria y comportamiento indefinido en Rust. Es capaz de analizar paquetes Rust individuales, así como todos los paquetes en crates.io.
Rust Language Server ⚠️ — Soporta funcionalidades como 'goto definition', búsqueda de símbolos, reformateo y autocompletado de código, y permite renombrar y refactorizar.
rust-analyzer — Soporta funcionalidades como 'goto definition', inferencia de tipos, búsqueda de símbolos, reformateo y autocompletado de código, y permite renombrar y refactorizar.
rust-audit — Audita binarios Rust en busca de bugs conocidos o vulnerabilidades de seguridad. Esto funciona incrustando datos sobre el árbol de dependencias (Cargo.lock) en formato JSON en una sección dedicada del enlazador del ejecutable compilado.
rustfix — Lee y aplica las sugerencias hechas por rustc (y lints de terceros, como los que ofrece clippy).
rustfmt — Una herramienta para formatear código Rust según las guías de estilo.
RustViz — RustViz es una herramienta que genera visualizaciones a partir de programas Rust simples para ayudar a los usuarios a comprender mejor el mecanismo de Lifetime y Borrowing de Rust. Genera archivos SVG con indicadores gráficos que se integran con mdbook para renderizar visualizaciones del flujo de datos en programas Rust.
dbcritic — dbcritic encuentra problemas en un esquema de base de datos, como la falta de una restricción de clave primaria en una tabla.
holistic — Más de 1300 reglas para analizar consultas SQL. Toma una definición de esquema SQL y el código fuente de la consulta para generar recomendaciones de mejora. Detecta code smells, índices no utilizados, tablas no utilizadas, vistas, vistas materializadas y más.
pgspot — Detecta vulnerabilidades en scripts de extensiones de Postgres. Encuentra usos inseguros de search_path y creación insegura de objetos en scripts de extensión de PostgreSQL o en cualquier otro código SQL de PostgreSQL.
sleek — Sleek es una herramienta CLI para formatear SQL. Te ayuda a mantener un estilo consistente en tu código SQL, mejorando la legibilidad y la productividad. El trabajo pesado lo realiza el crate sqlformat.
sqlcheck ⚠️ — Identifica automáticamente antipatrones en consultas SQL.
SQLFluff — Linter y formateador de SQL con múltiples dialectos.
sqlint — Linter SQL simple.- squawk — Linter para PostgreSQL, centrado en migraciones. Evita tiempos de inactividad inesperados causados por migraciones de bases de datos y fomenta las mejores prácticas en torno a esquemas Postgres y SQL.
tsqllint ⚠️ — Linter específico de T-SQL.
TSqlRules ⚠️ — Reglas de análisis estático de código TSQL para SQL Server.
Visual Expert ©️ — Análisis de código para PowerBuilder, Oracle y SQL Server. Explora, analiza y documenta código.
linter ⚠️ — Linter es un plugin de compilador de análisis estático para Scala que añade comprobaciones en tiempo de compilación para diversos posibles errores, ineficiencias y problemas de estilo.
Scalastyle — Scalastyle examina tu código Scala e indica posibles problemas con él.
scapegoat — Plugin de compilador Scala para análisis estático de código.
WartRemover — Una herramienta flexible de linting de código Scala.
bashate — Aplicación de estilo de código para programas bash. El formato de salida pretende seguir el formato de salida predeterminado de pycodestyle (pep8).
i-Code CNES for Shell ⚠️ — Una herramienta de análisis estático de código de código abierto para Shell y Fortran (77 y 90).
kmdr — Herramienta CLI para aprender comandos desde tu terminal. kmdr ofrece un desglose de comandos con cada atributo explicado.
sh — Un analizador sintáctico, formateador e intérprete de shell con soporte para bash; incluye shfmt.
shellcheck — ShellCheck, una herramienta de análisis estático que ofrece advertencias y sugerencias para scripts de shell bash/sh.
shellharden — Un resaltador de sintaxis y una herramienta para semiautomatizar la reescritura de scripts para que cumplan con ShellCheck, centrada principalmente en las comillas.
SwiftFormat — Una librería y herramienta de formato por línea de comandos para reformatear código Swift.
SwiftLint — Una herramienta para aplicar el estilo y las convenciones de Swift.
Tailor ⚠️ — Una herramienta de análisis estático y lint para código fuente escrito en el lenguaje de programación Swift de Apple.
Frink — Un programa de formateo y comprobación estática de Tcl (puede embellecer el programa, minimizarlo, ofuscarlo o simplemente comprobar su coherencia).
Nagelfar — Un comprobador de sintaxis estática para Tcl.
tclchecker — Un módulo de análisis de sintaxis estática (como parte de TDK).
Angular ESLint — Linter para proyectos Angular.
Codelyzer ⚠️ — Un conjunto de reglas de tslint para el análisis estático de código de proyectos Angular 2 TypeScript.
ENRE-ts ⚠️ — ENRE (ENtity Relationship Extractor) es una herramienta para la extracción de dependencias o relaciones de entidades de código a partir del código fuente. ENRE-ts es un extractor de relaciones de entidades para ECMAScript y TypeScript basado en @babel/parser.
fta — Análisis estático basado en Rust para proyectos TypeScript.
stc ⚠️ — Comprobador de tipos TypeScript ultrarrápido escrito en Rust.
tslint ⚠️ — TSLint está en desuso desde 2019. Consulta este problema para más detalles. typescript-eslint es ahora tu mejor opción para hacer lint de TypeScript.
TSLint es una herramienta de análisis estático extensible que comprueba el código TypeScript en busca de errores de legibilidad, mantenibilidad y funcionalidad. Es ampliamente compatible con editores modernos y sistemas de compilación, y se puede personalizar con tus propias reglas de lint, configuraciones y formateadores.
tslint-clean-code — Un conjunto de reglas TSLint inspiradas en el manual Clean Code.
tslint-microsoft-contrib ⚠️ — Un conjunto de reglas tslint para el análisis estático de código de proyectos TypeScript mantenido por Microsoft.
TypeScript Call Graph — CLI para generar un gráfico interactivo de funciones y llamadas a partir de tus archivos TypeScript.
TypeScript ESLint — Extensión del lenguaje TypeScript para ESLint.
zod — Validación de esquemas TypeScript-first con inferencia de tipos estática. El objetivo es eliminar las declaraciones de tipos duplicadas. Con Zod, declaras un validador una vez y Zod infiere automáticamente el tipo estático de TypeScript. Es fácil componer tipos más simples en estructuras de datos complejas.
Icarus Verilog ⚠️ — Una herramienta de simulación y síntesis de Verilog que funciona compilando código fuente escrito en Verilog IEEE-1364 a algún formato de destino.
svls — Una implementación del Protocolo de servidor de lenguaje (LSP) para Verilog y SystemVerilog, incluidas capacidades de lint.
verible-linter-action ⚠️ — Linting automático de SystemVerilog en GitHub Actions con la ayuda de Verible. Se utiliza para hacer lint de archivos fuente Verilog y SystemVerilog y comentar líneas de código erróneas en las Pull Requests automáticamente.
Verilator — Una herramienta que convierte Verilog en un modelo de comportamiento de precisión de ciclos en C++ o SystemC. Realiza comprobaciones de calidad de código mediante lint.
vscode-verilog-hdl-support — Soporte de Verilog HDL/SystemVerilog/Bluespec SystemVerilog para VS Code. Proporciona resaltado de sintaxis y soporte de lint mediante Icarus Verilog, Vivado Logical Simulation, Modelsim y Verilator.
Twiggy — Analiza el grafo de llamadas de un binario para perfilar el tamaño del código. El objetivo es reducir el tamaño del binario wasm.
wasm-language-tools — WebAssembly Language Tools tiene como objetivo proporcionar y mejorar la experiencia de edición del formato de texto de WebAssembly. También proporciona un formateador listo para usar (también conocido como pretty printer) para el formato de texto de WebAssembly.
ale — Motor de lint asíncrono para Vim y NeoVim con soporte para muchos lenguajes.
Android Studio — Basado en IntelliJ IDEA, e incluye herramientas para Android, incluido Android Lint.
AppChecker ©️ — Análisis estático para C/C++/C#, PHP y Java.
Application Inspector ©️ — Análisis estático de código comercial que genera exploits para verificar vulnerabilidades.
ApplicationInspector — Crea informes de más de 400 patrones de reglas para la detección de características (por ejemplo, el uso de criptografía o control de versiones en aplicaciones).
ArchUnit — Prueba unitaria de tu arquitectura Java o Kotlin.
ast-grep — ast-grep es una potente herramienta diseñada para gestionar código a escala utilizando árboles de sintaxis abstracta (AST). Piensa en ella como un híbrido de grep, eslint y codemod, con la capacidad de buscar, hacer lint y reescribir código basándose en su estructura en lugar de en texto plano. Admite múltiples lenguajes y está diseñada para ser extensible, permitiéndote registrar lenguajes personalizados.
Atom-Beautify ⚠️ — Embellece HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL y más en el editor Atom.
autocorrect — Un linter y formateador que te ayuda a mejorar la redacción, corregir espacios, palabras y puntuación entre CJK (chino, japonés, coreano).
Axivion Bauhaus Suite ©️ — Localiza ubicaciones de código propensas a errores, violaciones de estilo, código clonado o muerto, dependencias cíclicas y más para C/C++, C#/.NET, Java y Ada 83/Ada 95.
Bearer — Herramienta de análisis estático de código de código abierto para descubrir, filtrar y priorizar riesgos y vulnerabilidades de seguridad que conducen a exposiciones de datos sensibles (PII, PHI, PD). Altamente configurable y fácilmente extensible, creada para equipos de seguridad e ingeniería.
ENRE-cpp ⚠️ — ENRE (ENtity Relationship Extractor) es una herramienta para la extracción de dependencias o relaciones de entidades de código a partir 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 comprobador de modelos de código abierto, con licencia permisiva y acotado por contexto, basado en la satisfacibilidad módulo teorías para la verificación de programas C/C++ de uno y varios hilos.
flawfinder — Encuentra posibles debilidades de seguridad.
flint++ ⚠️ — Port multiplataforma y sin dependencias de flint, un programa lint para C++ desarrollado y utilizado en Facebook.
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 soporte de analizador habilitado. También puede enviar sus diagnósticos a un archivo JSON en formato SARIF (desde la v13).
Goblint — Un analizador estático para el análisis de programas C multiproceso. Su enfoque principal es la detección de carreras de datos, pero también reporta otros errores de tiempo de ejecución, como desbordamientos de búfer y desreferencias de puntero nulo.
Helix QAC ©️ — Análisis estático de grado empresarial para software embebido. Soporta los estándares de codificación MISRA, CERT y AUTOSAR.
IKOS — Un analizador estático sólido para código C/C++ basado en LLVM.
KLEE — Un motor de ejecución simbólica dinámica construido sobre la infraestructura del compilador LLVM. Puede auto-generar casos de prueba para programas de modo que los casos de prueba ejerciten la mayor parte del programa posible.
LDRA ©️ — Un conjunto de herramientas que incluye análisis estático (TBVISION) conforme a varios estándares, incluyendo MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ y reglas personalizadas.
MATE ⚠️ — Un conjunto de herramientas para el análisis interactivo de programas con un enfoque en la búsqueda de bugs en código C y C++. MATE unifica el análisis de vulnerabilidades específicas de la aplicación y de bajo nivel mediante grafos de propiedades de código (CPGs), lo que permite descubrir vulnerabilidades altamente específicas de la aplicación que dependen tanto de los detalles de implementación como de la semántica de alto nivel de los programas C/C++ objetivo.
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, con soporte para C11/C18 y C++17.
Phasar — Un framework de análisis estático basado en LLVM que incluye análisis de taint y de estado de tipos.
Polyspace Bug Finder ©️ — Identifica errores de tiempo de ejecución, problemas de concurrencia, vulnerabilidades de seguridad y otros defectos en software embebido C y C++.
Polyspace Code Prover ©️ — Proporciona verificación de código que demuestra la ausencia de desbordamiento, división por cero, acceso a arreglos fuera de límites y ciertos otros errores de tiempo de ejecución en código fuente C y C++.
scan-build — Frontend para ejecutar el Clang Static Analyzer integrado en Clang mediante una compilación normal.
splint — Comprobador estático de programas asistido por anotaciones.
SVF — Una herramienta estática que permite un análisis de dependencias interprocedural 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 arreglos fuera de límites, desreferencias de puntero nulo, use-after-free, divisiones por cero, accesos a memoria no inicializada, desbordamientos con signo, aritmética de punteros inválida, etc.), verificación del flujo de datos y del flujo de control, así como verificación funcional completa de especificaciones formales. Se soportan todas las versiones de C hasta C18 y C++ hasta C++20. TrustInSoft Analyzer adquirirá la cualificación ISO 26262 en el Q2 de 2023 (TCL3). También se incluye un comprobador MISRA C.
vera++ ⚠️ — Vera++ es una herramienta programable para la verificación, análisis y transformación de código fuente C++.
SonarAnalyzer.CSharp — Estos analizadores de Roslyn te permiten producir Código Limpio que sea seguro, fiable y mantenible, ayudándote a encontrar y corregir bugs, vulnerabilidades y code smells en tu base de código.
VSDiagnostics ⚠️ — Una colección de analizadores estáticos basados en Roslyn que se integra con VS.
Wintellect.Analyzers — Analizadores de diagnóstico y correcciones de código de la Plataforma de Compiladores .NET ("Roslyn").
ESBMC — ESBMC es un comprobador de modelos de código abierto, con licencia permisiva y acotado por contexto, basado en la satisfacibilidad módulo teorías para la verificación de programas C/C++ de uno y varios hilos.
flawfinder — Encuentra posibles debilidades de seguridad.
flint++ ⚠️ — Port multiplataforma y sin dependencias de flint, un programa lint para C++ desarrollado y utilizado en Facebook.
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 soporte de analizador habilitado. También puede enviar sus diagnósticos a un archivo JSON en formato SARIF (desde la v13).
Helix QAC ©️ — Análisis estático de grado empresarial para software embebido. Soporta los estándares de codificación MISRA, CERT y AUTOSAR.
IKOS — Un analizador estático sólido para código C/C++ basado en LLVM.
KLEE — Un motor de ejecución simbólica dinámica construido sobre la infraestructura del compilador LLVM. Puede auto-generar casos de prueba para programas de modo que los casos de prueba ejerciten la mayor parte del programa posible.
LDRA ©️ — Un conjunto de herramientas que incluye análisis estático (TBVISION) conforme a varios estándares, incluyendo MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ y reglas personalizadas.
MATE ⚠️ — Un conjunto de herramientas para el análisis interactivo de programas con un enfoque en la búsqueda de bugs en código C y C++. MATE unifica el análisis de vulnerabilidades específicas de la aplicación y de bajo nivel mediante grafos de propiedades de código (CPGs), lo que permite descubrir vulnerabilidades altamente específicas de la aplicación que dependen tanto de los detalles de implementación como de la semántica de alto nivel de los programas C/C++ objetivo.
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, con soporte para C11/C18 y C++17.
Phasar — Un framework de análisis estático basado en LLVM que incluye análisis de taint y de estado de tipos.
Polyspace Bug Finder ©️ — Identifica errores de tiempo de ejecución, problemas de concurrencia, vulnerabilidades de seguridad y otros defectos en software embebido C y C++.
Polyspace Code Prover ©️ — Proporciona verificación de código que demuestra la ausencia de desbordamiento, división por cero, acceso a arreglos fuera de límites y ciertos otros errores de tiempo de ejecución en código fuente C y C++.- scan-build — Frontend para impulsar el Clang Static Analyzer integrado en Clang mediante una compilación normal.
splint — Verificador estático de programas asistido por anotaciones.
SVF — Una herramienta estática que permite un análisis de dependencias interprocedimental 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 punteros nulos, use-after-free, divisiones por cero, accesos a memoria no inicializada, desbordamientos con signo, aritmética de punteros inválida, etc.), verificación de flujo de datos y de control, así como verificación funcional completa de especificaciones formales. Se admiten todas las versiones de C hasta C18 y de C++ hasta C++20. TrustInSoft Analyzer adquirirá la cualificación ISO 26262 en el segundo trimestre de 2023 (TCL3). También se incluye un verificador MISRA C.
vera++ ⚠️ — Vera++ es una herramienta programable para la verificación, el análisis y la transformación de código fuente C++.
go/ast — El paquete ast declara los tipos utilizados para representar árboles de sintaxis de paquetes Go.
goast — Herramienta de análisis estático de Go basada en AST (Abstract Syntax Tree) con Rego.
gochecknoglobals ⚠️ — Comprueba que no haya presentes variables globales.
goconst — Encuentra cadenas repetidas que podrían reemplazarse por una constante.
gocyclo — Calcula las complejidades ciclomáticas de las funciones en el código fuente de Go.
gofmt -s — Comprueba si el código está correctamente formateado y no podría simplificarse más.
gofumpt — Impone un formato más estricto que gofmt, manteniendo la compatibilidad con versiones anteriores. Es decir, a gofumpt le satisface un subconjunto de los formatos que satisfacen a gofmt.
La herramienta es un fork de gofmt a partir de Go 1.19 y requiere Go 1.18 o posterior. Puede utilizarse como reemplazo directo para formatear tu código Go, y ejecutar gofmt después de gofumpt no debería producir cambios.
gofumpt nunca añadirá reglas que discrepen con el formato de gofmt. Así que extendemos gofmt en lugar de competir con él.
goimports — Comprueba importaciones de paquetes faltantes o sin referenciar.
gokart — Análisis de seguridad de Golang centrado en minimizar los falsos positivos. Es capaz de rastrear el origen de variables y argumentos de funciones para determinar si las fuentes de entrada son seguras.
GolangCI-Lint — Ejecutor rápido de linters para Go. Agrega múltiples linters de Go y proporciona una configuración, caché y formato de salida unificados. Alternativa a Go Meta Linter.
golint — Imprime errores de estilo de codificación en el código fuente de Go.
goreporter — Ejecuta concurrentemente muchos linters y normaliza su salida en un informe.
goroutine-inspect — Una herramienta interactiva para analizar el volcado de goroutines de Golang.
gosec (gas) — Inspecciona el código fuente en busca de problemas de seguridad escaneando el AST de Go.
gotype — Análisis sintáctico y semántico similar al compilador de Go.
govulncheck — Govulncheck informa de vulnerabilidades conocidas que afectan al código Go. Utiliza análisis estático del código fuente o de la tabla de símbolos de un binario para reducir los informes solo a aquellos que podrían afectar a la aplicación. Por defecto, 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ódulos, no código ni otras propiedades de tu programa.
ineffassign — Detecta asignaciones ineficaces en código Go.
interfacer ⚠️ — Sugiere interfaces más estrechas que pueden utilizarse.
lll — Informa sobre líneas largas.
maligned ⚠️ — Detecta structs que ocuparían menos memoria si sus campos estuvieran ordenados.
misspell — Encuentra palabras inglesas comúnmente mal escritas.
nakedret ⚠️ — Encuentra retornos desnudos (naked returns).
nargs — Encuentra argumentos sin usar en declaraciones de funciones.
OSV-Scanner — Escáner de vulnerabilidades escrito en Go que utiliza los datos proporcionados por OSV.dev. Desarrollado por Google para escanear dependencias en múltiples lenguajes y gestores de paquetes en busca de vulnerabilidades conocidas. Admite escaneo de contenedores, escaneo de licencias y remediación guiada. Funciona con lockfiles, SBOM e imágenes de contenedores para identificar problemas de seguridad.
prealloc — Encuentra declaraciones de slices que podrían preasignarse potencialmente.
Reviewdog — Una herramienta para publicar comentarios de revisión desde cualquier linter en cualquier servicio de alojamiento de código.
revive — Linter rápido, configurable, extensible, flexible y elegante para Go. Reemplazo directo de golint.
safesql ⚠️ — Herramienta de análisis estático para Golang que protege contra inyecciones SQL.
shisho ⚠️ — Un analizador de código estático ligero diseñado para desarrolladores y equipos de seguridad. Te permite analizar y transformar código fuente con un DSL intuitivo similar a sed, pero para código.
staticcheck — Análisis estático de Go especializado en encontrar errores, simplificar código y mejorar el rendimiento.
structcheck — Encuentra campos de struct sin usar.
structslop — Analizador estático para Go que recomienda reordenamientos de campos de struct para proporcionar la máxima eficiencia de espacio/asignación.
test — Muestra la ubicación de los fallos de prueba del módulo testing de la stdlib.
unconvert ⚠️ — Detecta conversiones de tipo redundantes.
unparam — Encuentra parámetros de función sin usar.
varcheck — Encuentra variables globales y constantes sin usar.
wsl — Exige líneas vacías en los lugares correctos.
ENRE-java ⚠️ — ENRE (ENtity Relationship Extractor) es una herramienta para extraer dependencias o relaciones de entidades de código a partir del código fuente. ENRE-java es un extractor de relaciones de entidades para proyectos Java basado en @Eclipse JDT/parser.
Error Prone — Detecta errores comunes de Java como errores en tiempo de compilación.
fb-contrib — Un plugin para FindBugs con detectores de errores adicionales.
forbidden-apis — Detecta y prohíbe invocaciones de métodos/clases/campos específicos (como leer de un flujo de texto sin charset). Compatible con Maven/Gradle/Ant.
google-java-format — Reformatea el código fuente Java para cumplir con Google Java Style.
HuntBugs ⚠️ — Herramienta de análisis estático de bytecode basada en Procyon Compiler Tools destinada a sustituir a FindBugs.
IntelliJ IDEA ©️ — Viene incluido con muchas inspecciones para Java y Kotlin e incluye herramientas para refactorización, formato y más.
JArchitect ©️ — Mide, consulta y visualiza tu código y evita problemas inesperados, deuda técnica y complejidad.
JBMC — Model-checker acotado para Java (bytecode); verifica aserciones definidas por el usuario, aserciones estándar y varios análisis de métricas de cobertura.
JLiSA — Un analizador estático basado en interpretación abstracta para Java, construido sobre el framework LiSA.
Mariana Trench — Nuestra herramienta de análisis estático centrada en la seguridad para aplicaciones Android y Java. Mariana Trench analiza bytecode Dalvik y está construida para ejecutarse rápidamente en bases de código grandes (decenas de millones de líneas de código). Puede encontrar vulnerabilidades a medida que el código cambia, antes de que llegue a tu repositorio.
NullAway — Verificador de punteros nulos basado en tipos con baja sobrecarga en tiempo de compilación; un plugin de Error Prone.
OWASP Dependency Check ⚠️ — Comprueba 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 God Classes y clases altamente acopladas en bases de código Java que deberías refactorizar primero.
Soot — Un framework para analizar y transformar aplicaciones Java y Android.
Spoon — Spoon es una biblioteca de metaprogramación para analizar y transformar código fuente Java (incluye Java 9, 10, 11, 12, 13, 14). Analiza los archivos fuente para construir un AST bien diseñado con potentes APIs de análisis y transformación. Puede integrarse en Maven y Gradle.
SpotBugs — SpotBugs es el sucesor de FindBugs. Una herramienta de análisis estático para buscar errores en código Java.- steady ⚠️ — Analiza tus aplicaciones Java en busca de dependencias de código abierto con vulnerabilidades conocidas, utilizando tanto análisis estático como pruebas para determinar el contexto y el uso del código con mayor precisión.
Violations Lib — Biblioteca Java para analizar archivos de informes de análisis estático de código. Utilizada por un montón de plugins de Jenkins, Maven y Gradle.
NodeJSScan ⚠️ — Un escáner de código de seguridad estático para aplicaciones Node.js impulsado por libsast y semgrep que se basa en la herramienta CLI njsscan. Incluye una interfaz de usuario con varios paneles sobre el estado de seguridad de una aplicación.
plato ⚠️ — Visualiza la complejidad del código fuente JavaScript.
Polymer-analyzer — Un framework de análisis estático para Web Components.
retire.js — Escáner que detecta el uso de librerías JavaScript con vulnerabilidades conocidas.
RSLint ⚠️ — Un linter de JavaScript (WIP) escrito en Rust, diseñado para ser lo más rápido posible, personalizable y fácil de usar.
standard — Un módulo npm que comprueba problemas de la guía de estilo de Javascript.
tern — Un analizador de código JavaScript para soporte de lenguaje profundo y multiplataforma entre editores.
TypL ⚠️ — Con TypL, solo escribes JavaScript completamente estándar y la herramienta deduce tus tipos mediante una potente inferencia.
xo — Un envoltorio de ESLint con opiniones pero configurable, con muchas ventajas incluidas. Hace cumplir un código estricto y legible.
yardstick ⚠️ — Métricas de código Javascript.
parallel-lint — Esta herramienta comprueba la sintaxis de los archivos PHP más rápido que la comprobación en serie y con una salida más elegante.
Parse — Un escáner de seguridad estático.
pdepend — Calcula métricas de software como la complejidad ciclomática para 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.
PHP Assumptions — Comprueba suposiciones débiles.
PHP Coding Standards Fixer — Corrige tu código según estándares como PSR-1, PSR-2 y el estándar Symfony.
PHP Insights — Comprobaciones instantáneas de calidad de PHP desde tu consola. Análisis de la calidad del código y del estilo de codificación, así como una visión general de la arquitectura del código y su complejidad.
Php Inspections (EA Extended) — Un analizador de código estático para PHP.
PHP Refactoring Browser — Ayudante de refactorización.
PHP Semantic Versioning Checker — Sugiere una siguiente versión según el versionado semántico.
PHP-Parser — Un parser de PHP escrito en PHP.
php-speller — Librería de revisión ortográfica para PHP.
PHP-Token-Reflection ⚠️ — Librería que emula la reflexión interna de PHP.
php7cc ⚠️ — Comprobador de compatibilidad con PHP 7.
php7mar ⚠️ — Asiste a los desarrolladores en la migración rápida de su código a PHP 7.
PHP_CodeSniffer ⚠️ — Detecta violaciones de un conjunto definido de estándares de codificación.
PHPArkitect — PHPArkitect te ayuda a mantener tu base de código PHP coherente y sólida, permitiendo añadir comprobaciones de restricciones arquitectónicas a tu flujo de trabajo. Puedes expresar la restricción que quieres hacer cumplir en código PHP simple y legible.
phpca ⚠️ — Encuentra el uso de extensiones no integradas.
phpcpd ⚠️ — Detector de copia/pega para código PHP.
phpdcd ⚠️ — Detector de código muerto (DCD) para código PHP.
PhpDependencyAnalysis ⚠️ — Construye un grafo de dependencias para un proyecto.
PhpDeprecationDetector ⚠️ — Analizador de código PHP para buscar problemas con funcionalidad obsoleta en versiones más recientes del intérprete. Encuentra objetos eliminados (funciones, variables, constantes y directivas ini), funcionalidad de funciones obsoletas y uso de nombres o trucos prohibidos (por ejemplo, identificadores reservados en versiones más recientes).
phpdoc-to-typehint ⚠️ — Añade type hints escalares y tipos de retorno a proyectos PHP existentes utilizando anotaciones PHPDoc.
phpDocumentor — Analiza el código fuente 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 tu código.
PhpMetrics — Calcula y visualiza varias métricas de calidad de código.
phpmnd — Ayuda a detectar números mágicos.
PHPQA — Una herramienta para ejecutar herramientas de control de calidad (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
phpqa - jakzal — Muchas herramientas para el análisis estático de PHP en un solo contenedor.
phpqa - jmolivas — PHPQA herramienta CLI de análisis todo-en-uno.
phpsa ⚠️ — Herramienta de análisis estático para PHP.
PHPStan — Herramienta de análisis estático de PHP: descubre errores en tu código sin ejecutarlo.
Progpilot — Una herramienta de análisis estático con fines de seguridad.
Psalm — Herramienta de análisis estático para encontrar errores de tipos en aplicaciones PHP.
Qafoo Quality Analyzer ⚠️ — Visualiza métricas y código fuente.
rector — Actualizaciones instantáneas y refactorización automatizada de cualquier código PHP 5.3+. Actualiza tu código para PHP 7.4, 8.0 y posteriores. Rector promete una baja tasa de falsos positivos porque busca patrones de AST (árbol de sintaxis abstracta) estrechamente definidos. El caso de uso principal es abordar la deuda técnica en tu código heredado y eliminar el código muerto. Rector proporciona un conjunto de reglas especiales para Symfony, Doctrine, PHPUnit y muchos más.
Reflection — Librería de reflexión para realizar análisis estático de proyectos PHP.
Symfony Insight ©️ — Detecta riesgos de seguridad, encuentra errores y proporciona métricas accionables para proyectos PHP.
Tuli — Un motor de análisis estático.
twig-lint — twig-lint es una herramienta de lint para tus archivos twig.
WAP — Herramienta para detectar y corregir vulnerabilidades de validación de entrada en aplicaciones web PHP (4.0 o superior) y predice falsos positivos combinando análisis estático y minería de datos.
Dlint — Una herramienta para garantizar que el código Python sea seguro.
Dodgy — Dodgy es una herramienta muy básica para ejecutar contra tu base de código en busca de valores que parezcan "sospechosos". Es una serie de expresiones regulares simples diseñadas para detectar cosas como commits accidentales de diff de SCM, o contraseñas o claves secretas codificadas en archivos.
ENRE-py ⚠️ — ENRE (ENtity Relationship Extractor) es una herramienta para la extracción de dependencias o relaciones de entidades de código a partir del código fuente. ENRE-py es un extractor de relaciones de entidades para Python basado en Python Language Services de la Biblioteca Estándar.
fixit — Un framework para crear reglas de lint y auto-correcciones correspondientes para el código fuente.
flake8 — Un envoltorio alrededor de pyflakes, pycodestyle y mccabe.
flakeheaven — flakeheaven es un linter de Python construido alrededor de flake8 para permitir una configuración toml heredable y compleja.
Griffe — Firmas para programas Python completos. Extrae la estructura, el marco, el esqueleto de tu proyecto, para generar documentación de API o encontrar cambios disruptivos en tu API.
InspectorTiger ⚠️ — IT, Inspector Tiger, es una herramienta/framework moderna de revisión de código Python. Viene con un montón de handlers predefinidos que te advierten sobre mejoras y posibles errores. Además de estos handlers, puedes escribir los tuyos propios o usar los de la comunidad.
jedi — Librería de autocompletado/análisis estático para Python.
linty fresh — Analiza errores de lint y repórtalos a Github como comentarios en un pull request.
mbake — mbake es un formateador y linter de Makefile. ¡Solo tardó 50 años!
mccabe ⚠️ — Comprueba la complejidad de McCabe.
multilint ⚠️ — Un envoltorio alrededor de flake8, isort y modernize.
mypy — Un comprobador de tipos estático que busca combinar los beneficios del duck typing y el tipado estático, utilizado frecuentemente con MonkeyType.
pip-audit — Herramienta para escanear paquetes Python en busca de vulnerabilidades conocidas. Desarrollada por la Python Packaging Authority (PyPA) y respaldada por Trail of Bits y Google. Escanea entornos Python y archivos de requisitos para identificar paquetes vulnerables y sugiere remediación. Soporta GitHub Actions, hooks de pre-commit y múltiples integraciones de servicios de vulnerabilidades.
prospector — Un envoltorio alrededor de pylint, pep8, mccabe y otros.- py-find-injection ⚠️ — Encuentra vulnerabilidades de inyección SQL en código Python.
pyanalyze — Una herramienta para detectar programáticamente errores comunes en código Python, como referencias a variables indefinidas y errores de tipo. Puede extenderse para añadir reglas adicionales y realizar comprobaciones específicas para determinadas funciones.
pycodestyle — (Anteriormente pep8) Comprueba el código Python contra algunas de las convenciones de estilo de PEP 8.
pydocstyle ⚠️ — Comprueba el cumplimiento de las convenciones de docstrings de Python.
pyflakes — Comprueba errores en archivos fuente de Python.
pylint — Busca errores de programación, ayuda a hacer cumplir un estándar de codificación y detecta algunos olores de código. Además incluye pyreverse (un generador de diagramas UML) y symilar (un comprobador de similitudes).
pylyzers ⚠️ — Un analizador de código estático / servidor de lenguaje para Python, escrito en Rust, centrado en la comprobación de tipos y una salida legible.
Pyra — Pyra es un analizador estático y linter de alto nivel para aplicaciones de ciencia de datos escritas en Python, que ayuda a los desarrolladores a identificar posibles problemas en su código de ciencia de datos escrito en Python, como una extensión de Lyra.
pyre-check ⚠️ — Un comprobador de tipos rápido y escalable para bases de código Python grandes. Pyre-check ha sido superado por Pyrefly, su siguiente iteración.
pyrefly — Un comprobador de tipos incremental y rápido y servidor de lenguaje para Python, que ofrece funciones de IDE como navegación de código, resaltado semántico y autocompletado.
pyright — Comprobador de tipos estático para Python, creado para cubrir las carencias de herramientas existentes como mypy.
pyroma — Evalúa cómo de bien cumple un proyecto Python con las mejores prácticas del ecosistema de empaquetado de Python y enumera los problemas que podrían mejorarse.
Pysa — Una herramienta basada en pyre-check de Facebook para identificar posibles problemas de seguridad en código Python mediante análisis de taint.
PyT - Python Taint ⚠️ — Una herramienta de análisis estático para detectar vulnerabilidades de seguridad en aplicaciones web Python.
pytype — Un analizador de tipos estático para código Python.
pyupgrade — Una herramienta (y hook de pre-commit) para actualizar automáticamente la sintaxis a versiones más recientes del lenguaje.
QuantifiedCode ⚠️ — Revisión y reparación automatizada de código. Te ayuda a realizar un seguimiento de los problemas y métricas en tus proyectos de software, y puede ampliarse fácilmente para admitir nuevos tipos de análisis.
radon ⚠️ — Una herramienta Python que calcula diversas métricas a partir del código fuente.
refurb — Una herramienta para renovar y modernizar bases de código Python. Refurb está fuertemente inspirado en clippy, el linter integrado de Rust.
ruff — Linter de Python rápido, escrito en Rust. 10-100 veces más rápido que los linters existentes. Compatible con Python 3.10. Soporta observador de archivos (file watcher).
Safety — Escáner de vulnerabilidades de dependencias de Python diseñado para mejorar la seguridad de la cadena de suministro de software mediante la detección de paquetes con vulnerabilidades conocidas. Comprueba las dependencias de Python contra una base de datos de vulnerabilidades de seguridad conocidas y proporciona informes detallados. Admite integración con CI/CD y múltiples formatos de salida.
ty — Un comprobador de tipos de Python extremadamente rápido escrito en Rust.
unimport — Un linter y formateador para encontrar y eliminar sentencias de importación no utilizadas.
vulture — Encuentra clases, funciones y variables no utilizadas en código Python.
wemake-python-styleguide — El linter de Python más estricto y subjetivo que existe.
wily — Una herramienta de línea de comandos para archivar, explorar y graficar la complejidad del código fuente de Python.
xenon ⚠️ — Monitorea la complejidad del código usando radon.
yapf ⚠️ — Un formateador para archivos Python creado por Google YAPF sigue una metodología distintiva, originada en la herramienta 'clang-format' creada por Daniel Jasper. Esencialmente, el programa reformatea el código al formato más adecuado que cumpla con la guía de estilo, incluso si el código original ya sigue la guía de estilo. Este concepto es similar a la herramienta 'gofmt' del lenguaje de programación Go, cuyo objetivo es poner fin a los debates sobre el formato haciendo que toda la base de código de un proyecto pase por YAPF cada vez que se realizan cambios, manteniendo así un estilo consistente en todo el proyecto y eliminando la necesidad de discutir sobre el estilo en cada revisión de código.
Fukuzatsu — Una herramienta para medir la complejidad del código en archivos de clases Ruby. Su análisis genera puntuaciones basadas en algoritmos de complejidad ciclomática sin 'opiniones' añadidas.
htmlbeautifier — Un normalizador/embellecedor de HTML que también entiende Ruby embebido. Ideal para ordenar plantillas de Rails.
laser ⚠️ — Análisis estático y linter de estilo para código Ruby.
MetricFu ⚠️ — MetricFu es un conjunto de herramientas para proporcionar informes que muestran qué partes de tu código podrían necesitar trabajo adicional.
pelusa — Herramienta de análisis estático tipo Lint para mejorar tu código Ruby orientado a objetos.
quality ⚠️ — Ejecuta comprobaciones de calidad en tu código utilizando herramientas de la comunidad y se asegura de que tus métricas no empeoren con el tiempo.
Querly ⚠️ — Herramienta de comprobación basada en patrones para Ruby.
Railroader ⚠️ — Un escáner de vulnerabilidades de seguridad de análisis estático de código abierto para aplicaciones Ruby on Rails.
rails_best_practices — Una herramienta de métricas de código para proyectos Rails.
reek — Detector de olores de código para Ruby.
Roodi — Roodi significa Ruby Object Oriented Design Inferometer. Analiza tu código Ruby y te advierte sobre problemas de diseño según las comprobaciones que tiene configuradas.
RuboCop — Un analizador estático de código Ruby, basado en la guía de estilo comunitaria de Ruby.
Rubrowser — Generador interactivo de gráficos de dependencia de clases Ruby.
ruby-lint ⚠️ — Análisis estático de código para Ruby.
rubycritic — Un reportero de calidad de código Ruby.
rufo — Un formateador de Ruby con opiniones, pensado para usarse desde la línea de comandos como plugin de editor de texto, para autoformatear archivos al guardar o bajo demanda.
Saikuro ⚠️ — Un analizador de complejidad ciclomática para Ruby.
SandiMeter ⚠️ — Herramienta de análisis estático para comprobar el código Ruby según las reglas de Sandi Metz.
Skunk — Una calculadora de SkunkScore para código Ruby: encuentra el código más complicado sin cobertura de pruebas.
Sorbet — Un comprobador de tipos rápido y potente diseñado para Ruby.
Standard Ruby — Guía de estilo de Ruby, con linter y corrector automático de código.
Steep — Tipado gradual para Ruby.
Traceroute ⚠️ — Una gema de tareas Rake que te ayuda a encontrar las rutas y acciones de controlador no utilizadas en tu aplicación Rails 3+.
release-plzcargo-show-asm — Subcomando de cargo que muestra el ensamblador, LLVM-IR y MIR generados para código Rust.
cargo-spellcheck — Revisa toda tu documentación en busca de errores ortográficos y gramaticales con hunspell (listo) y languagetool (preview).
cargo-unused-features ⚠️ — Encuentra posibles feature flags habilitados que no se usan y pódalos. Puedes generar un informe HTML simple a partir del JSON para facilitar la inspección de los resultados. Elimina una característica de una dependencia y luego compila el proyecto para ver si aún compila. Si lo hace, el feature flag posiblemente puede eliminarse, pero puede ser un falso positivo.
clippy — Un linter de código para detectar errores comunes y mejorar tu código Rust.
diff.rs — Aplicación web (WASM) para mostrar un diff entre versiones de crates de Rust.
dylint — Una herramienta para ejecutar lints de Rust desde bibliotecas dinámicas. Dylint facilita a los desarrolladores el mantenimiento de sus propias colecciones de lints personales.
electrolysis ⚠️ — Una herramienta para verificar formalmente programas Rust transcompilándolos a definiciones en el demostrador de teoremas Lean.
herbie ⚠️ — Añade advertencias o errores a tu crate cuando se utiliza una expresión de punto flotante numéricamente inestable.
kani — El verificador Kani Rust es un model checker de precisión de bits para Rust. Kani es particularmente útil para verificar bloques de código unsafe en Rust, donde los "superpoderes unsafe" no son comprobados por el compilador. Kani verifica:
TangleGuard ©️ — Ayuda a comprender y mantener una arquitectura de software escalable. Para ello, genera un grafo de dependencias interactivo y anidado a partir del código fuente. Puedes elegir el nivel de detalle y obtener la parte de tu base de código que te interesa.
warnalyzer ⚠️ — Muestra código no utilizado en proyectos Rust multi-crate.
Better Code Hub ©️ — Better Code Hub comprueba tu base de código de GitHub contra 10 directrices de ingeniería ideadas por la autoridad en calidad de software, Software Improvement Group.
Betterscan CE ⚠️ — Comprueba tu código e infraestructura (se admiten varios repositorios Git, stacks en la nube, CLI, plataforma de interfaz web, integraciones disponibles) en busca de problemas de seguridad y calidad. Escaneo de código/SAST/linting utilizando muchas herramientas/escáneres deduplicados con Un Informe (IA opcional).
biome — Un conjunto de herramientas para proyectos web, destinado a proporcionar funcionalidades para mantenerlos. Biome formatea y hace lint del código en una fracción de segundo. Es el sucesor de Rome. Está diseñado para reemplazar eventualmente a Babel, ESLint, webpack, Prettier, Jest y otros.
BlockWatch — Un linter independiente del lenguaje que mantiene el código, la documentación y la configuración sincronizados y aplica reglas estrictas de formato y validación.
BugProve ⚠️ ©️ — BugProve es una plataforma de análisis de firmware que utiliza técnicas de análisis estático y dinámico para descubrir corrupciones de memoria, inyecciones de comandos y otras clases o debilidades comunes en código binario. También detecta dependencias vulnerables, parámetros criptográficos débiles, configuraciones incorrectas y más.
callGraph — Genera estáticamente una imagen de grafo de llamadas y la muestra en pantalla.
CAST Highlight ©️ — Análisis estático de código comercial que se ejecuta localmente, pero sube los resultados a su nube para su presentación.
Checkmarx CxSAST ©️ — Análisis estático de código comercial que no requiere precompilación.
ClassGraph — Un escáner de classpath y module path para consultar o visualizar metadatos de clases o su relación.
Clayton ©️ — Revisiones de código impulsadas por IA para Salesforce. Asegura tus desarrollos, aplica las mejores prácticas y controla tu deuda técnica en tiempo real.
coala ⚠️ — Framework independiente del lenguaje para crear análisis de código: admite más de 60 lenguajes por defecto.
Cobra ©️ — Analizador estructural de código fuente del Laboratorio de Propulsión a Chorro de la NASA.
Codacy ©️ — Análisis de código para entregar mejor código, más rápido.
Code Intelligence ©️ — Plataforma DevSecOps independiente de CI/CD que combina motores de fuzzing líderes en la industria para encontrar errores y visualizar la cobertura de código.
Code Pathfinder — Análisis estático de código de código abierto para equipos de seguridad con análisis de flujo de datos inter-archivos y taint. Diseñado para encontrar vulnerabilidades, búsqueda estructural avanzada, extraer información y compatible con servidor MCP.
Code-Graph-RAG — Construye grafos de conocimiento a partir de bases de código multilenguaje utilizando análisis AST con Tree-sitter y los almacena en Memgraph. Admite 11 lenguajes de programación con un esquema de grafo unificado y permite consultas y edición en lenguaje natural de la estructura y relaciones del código. Funciona como servidor MCP para la integración con asistentes de IA.
Codeac ©️ — Herramienta automatizada de revisión de código que se integra con GitHub, Bitbucket y GitLab (incluso autoalojados). Disponible para JavaScript, TypeScript, Python, Ruby, Go, PHP, Java, Docker y más. (gratuita de código abierto)
codeburner — Proporciona una interfaz unificada para clasificar y actuar sobre los problemas que encuentra.
codechecker — Una base de datos de defectos y extensión de visor para Clang Static Analyzer con interfaz web.
CodeFactor ©️ — Análisis de código automatizado para repositorios en GitHub o BitBucket.
CodeFlow ©️ — Herramienta automatizada de análisis de código para gestionar la deuda técnica. Se integra con Bitbucket y Gitlab. (gratuita para proyectos de código abierto)
Codemodder — Codemodder es un framework conectable para construir codemods expresivos. Usa Codemodder cuando necesites algo más que un linter o una herramienta de formato de código. Úsalo para corregir problemas de seguridad no triviales y otros problemas de calidad de código.
codeql — Análisis profundo de código: consultas semánticas y flujo de datos para varios lenguajes con soporte de plugin de VSCode.
CodeQue — Ecosistema para emparejamiento estructural de código JavaScript y TypeScript. Ofrece una herramienta de búsqueda que entiende la estructura del código. Disponible como herramienta CLI y extensión de Visual Studio Code. Ayuda a buscar código más rápido y con mayor precisión, haciendo tu flujo de trabajo más efectivo. Pronto ofrecerá un plugin de ESLint para crear tus propias reglas en minutos y ayudar a asegurar la calidad de la base de código.
CodeRush ©️ — Herramientas de creación, depuración, navegación, refactorización, análisis y visualización de código que utilizan el motor Roslyn en Visual Studio 2015 y versiones posteriores.
CodeScan ©️ — Calidad y seguridad de código para desarrolladores de Salesforce. Hecho exclusivamente para la plataforma Salesforce, las soluciones de análisis de código de CodeScan te brindan visibilidad total sobre la salud de tu código.
CodeScene ©️ — CodeScene es una herramienta de visualización de calidad para software. Prioriza la deuda técnica, detecta riesgos de entrega y mide aspectos organizacionales. Totalmente automatizada.
CodeSee ©️ — CodeSee mapea y automatiza los servicios, directorios, dependencias de archivos y cambios de código de tu aplicación. Es como Google Maps, pero para código.
CodeSonar from GrammaTech ©️ — Análisis estático avanzado de programa completo y camino profundo de C, C++, Java y C# con explicaciones fáciles de entender y visualización de código y rutas.
Codety ⚠️ ©️ — Codety Scanner es un escáner integral de código fuente que incorpora más de 5000 reglas de análisis estático de código, cuyo objetivo es detectar problemas de código en más de 20 lenguajes de programación y herramientas IaC.
Codiga ©️ — Plataforma automatizada de revisiones de código y gestión de deuda técnica compatible con más de 12 lenguajes.
Corgea ©️ — Corgea es un escáner SAST impulsado por IA que ayuda a los desarrolladores a encontrar y corregir código inseguro. Detecta fallos de lógica de negocio, autenticación rota, vulnerabilidades de API y más con pocos falsos positivos. Además, escribe automáticamente correcciones de seguridad para que sean aprobadas. Corgea se integra con GitHub, GitLab, Azure DevOps, IDE y CLI. Es gratis probarlo.
Corrode ⚠️ — Traducción semiautomática de C a Rust. Podría revelar errores en la implementación original al mostrar advertencias y errores del compilador de Rust. Reemplazado por C2Rust.
Coverity ©️ — Synopsys Coverity admite 20 lenguajes y más de 70 frameworks, incluidos Ruby on Rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++, C#, VB.NET.
cpp-linter-action — Una GitHub Action para hacer lint de código C/C++ que integra clang-tidy y clang-format para recopilar comentarios en forma de comentarios en hilo y/o anotaciones.
cqc ⚠️ — Comprueba la calidad de tu código para archivos js, jsx, vue, css, less, scss, sass y styl.
DeepCode ⚠️ ©️ — DeepCode fue adquirida por Snyk y ahora es Snyk Code.
DeepSource ©️ — Análisis estático en profundidad para encontrar problemas en las categorías de riesgo de errores, seguridad, antipatrones, rendimiento, documentación y estilo. Integraciones nativas con GitHub, GitLab y Bitbucket. Menos del 5 % de falsos positivos.
deleaker ©️ — Deleaker es una herramienta de detección de fugas de memoria para C++, .NET y Delphi, que se integra con Visual Studio, Qt Creator y RAD Studio o se ejecuta como aplicación independiente. Ayuda a los desarrolladores a encontrar y corregir fugas de memoria, GDI y de manejadores de manera eficiente.
Depends — Analiza las dependencias integrales de los elementos de código para Java, C/C++, Ruby.
DerScanner ©️ — Plataforma multilenguaje de pruebas de seguridad de aplicaciones estáticas (SAST) que detecta vulnerabilidades críticas, incluidos secretos codificados, criptografía débil, puertas traseras, inyecciones SQL, configuraciones inseguras, etc.
DevSkim — Herramienta de análisis estático basada en expresiones regulares para Visual Studio, VS Code y Sublime Text: C/C++, C#, PHP, ASP, Python, Ruby, Java y otros.
diesel-guard — Linter para patrones de migración Postgres peligrosos en Diesel y SQLx. Evita el tiempo de inactividad causado por cambios de esquema inseguros.
dotnet-format — Un formateador de código para .NET. Las preferencias se leerán de un archivo .editorconfig, si existe; de lo contrario, se utilizará un conjunto predeterminado de preferencias. Por ahora, dotnet-format es capaz de formatear proyectos de C# y Visual Basic con un subconjunto de opciones compatibles de .editorconfig.
Embold ©️ — Plataforma inteligente de análisis de software que identifica problemas de diseño, problemas de código, duplicación y métricas. Admite Java, C, C++, C#, JavaScript, TypeScript, Python, Go, Kotlin y más.
emerge ⚠️ — Emerge es un visualizador de código fuente y dependencias que se puede utilizar para obtener información sobre la estructura del código fuente, métricas, dependencias y complejidad de proyectos de software. Después de escanear el código fuente de un proyecto, te proporciona una interfaz web interactiva para explorar y analizar tu proyecto mediante estructuras de grafo.
Enforster AI ©️ — Enforster AI realiza SAST contextual de seguridad de código, aprovechando LLM e inteligencia artificial para reducir y enriquecer la detección de fallos lógicos, secretos, fugas de datos, cadena de suministro y vulnerabilidades técnicas.
ESLint — Un linter extensible para JS, que sigue el estándar ECMAScript.
ezno — Un compilador de JavaScript y comprobador de tipos TypeScript escrito en Rust, con enfoque en el análisis estático y el rendimiento en tiempo de ejecución. El comprobador de tipos de Ezno está construido desde cero. El comprobador es totalmente compatible con las anotaciones de tipos de TypeScript y puede funcionar sin ninguna anotación de tipo.
Find Security Bugs — El plugin de SpotBugs para auditorías de seguridad de aplicaciones web Java y aplicaciones Android. (También funciona con proyectos Kotlin, Groovy y Scala).- Fortify ©️ — Una plataforma comercial de análisis estático que admite el escaneo de C/C++, C#, VB.NET, VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion, HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7), Ruby (1.9.3), Swift, Scala, VB y XML.
Freeplane Code Explorer — El modo Code Explorer en Freeplane está diseñado para analizar la estructura y las dependencias del código compilado en archivos de clase JVM. También permite mostrar los resultados de las pruebas de ArchUnit directamente en Freeplane, si Freeplane está en ejecución y ArchUnit detecta violaciones de reglas durante las pruebas.
Goodcheck — Linter personalizable basado en expresiones regulares.
goone ⚠️ — Encuentra consultas N+1 (llamadas SQL en un bucle for) en código Go
graudit — Grep rough audit - herramienta de auditoría de código fuente.
HCL AppScan Source ©️ — Análisis estático de código comercial.
Hopper ⚠️ — Una herramienta de análisis estático escrita en Scala para lenguajes que se ejecutan en la JVM.
Hound CI — Comenta sobre violaciones de estilo en pull requests de GitHub. Soporta Coffeescript, Go, HAML, JavaScript, Ruby, SCSS y Swift.
imhotep ⚠️ — Comenta sobre los commits que llegan a tu repositorio y verifica errores sintácticos y advertencias generales de lint.
include-gardener ⚠️ — Un analizador estático multilingüe para C/C++/Obj-C/Python/Ruby que crea un grafo (en formato dot o graphml) que muestra todas las relaciones #include de un conjunto determinado de archivos.
Infer — Un analizador estático para Java, C y Objective-C
Joern — Joern es una plataforma para analizar código fuente, bytecode y ejecutables binarios. Genera code property graphs (CPGs), una representación gráfica del código para el análisis de código entre lenguajes. Los code property graphs se almacenan en una base de datos de grafos personalizada. Esto permite explotar el código mediante consultas de búsqueda formuladas en un lenguaje de consulta específico de dominio basado en Scala. Joern se desarrolla con el objetivo de proporcionar una herramienta útil para el descubrimiento de vulnerabilidades y la investigación en el análisis estático de programas.
jQAssistant — jQAssistant es una plataforma de análisis de software basada en plugins que permite escanear estructuras de código y metadatos de repositorios en una base de datos de grafos Neo4j. Los datos recopilados se pueden utilizar para exploración ad hoc mediante consultas, visualización o definición de reglas para la validación continua de la arquitectura.
keploy — Keploy es una plataforma de pruebas de código abierto que ayuda a los desarrolladores a automatizar y optimizar su proceso de pruebas. Proporciona agentes de pruebas de API e integración, generando pruebas y mocks/stubs para APIs que realmente funcionan. Además, Keploy ofrece un agente de pruebas unitarias impulsado por IA que genera pruebas unitarias estables y útiles directamente en tus PRs de GitHub y en VSCode, ayudando a detectar errores y mejorar la calidad del código.
Kiuwan ©️ — Identifica y remedia amenazas cibernéticas en un entorno colaborativo extremadamente rápido, con integración perfecta en tu SDLC. Python, C\C++, Java, C#, PHP y más.
Klocwork ©️ — Análisis estático de calidad y seguridad para C/C++, Java y C#.
LangLint — Plataforma de traducción automatizada para comentarios de código y docstrings en más de 20 tipos de archivo. Elimina las barreras del idioma en la colaboración internacional de software. Soporta más de 100 pares de idiomas con protección de sintaxis. Se integra en pipelines de CI/CD como Ruff. De 10 a 20 veces más rápido con procesamiento concurrente.
LGTM ©️ — Encuentra vulnerabilidades de seguridad, variantes y problemas críticos de calidad de código mediante consultas CodeQL sobre el código fuente. Revisión automática de código en PR; gratuito para código abierto. Anteriormente semmle. Admite repositorios Git públicos alojados en Bitbucket Cloud, GitHub.com, GitLab.com.
lizard — Lizard es un analizador extensible de complejidad ciclomática para muchos lenguajes de programación, incluidos C/C++ (no requiere todos los archivos de cabecera ni los imports de Java). También realiza detección de copiar y pegar (detección de clones de código/detección de código duplicado) y muchas otras formas de análisis estático de código. Cuenta líneas de código sin comentarios, CCN (número de complejidad ciclomática), número de tokens de funciones y número de parámetros de funciones.
Mega-Linter — Mega-Linter puede manejar cualquier tipo de proyecto gracias a sus más de 70 linters integrados, su avanzado sistema de informes, ejecutable en cualquier sistema de CI o localmente, con instalación y configuración asistidas, capaz de aplicar formato y correcciones
Mobb ©️ — Mobb es un corrector automático y confiable de vulnerabilidades que asegura aplicaciones, reduce el atraso en seguridad y libera a los desarrolladores para que se centren en la innovación. Mobb es gratuito para proyectos de código abierto.
MOPSA — Un analizador estático diseñado para reutilizar fácilmente dominios abstractos entre lenguajes muy diferentes (como C y Python).
Neurolint-CLI — Herramienta determinista de transformación de código que utiliza análisis AST y transformaciones basadas en reglas. Corrige automáticamente más de 50 problemas, incluidos errores de accesibilidad, errores de hidratación, migraciones de React 19/Next.js 16 y actualizaciones de configuración. Incluye una orquestación a prueba de fallos en 5 pasos para garantizar cero cambios que rompan el código. Especializada para proyectos de React, Next.js y TypeScript.
oclint — Una herramienta de análisis estático de código fuente para mejorar la calidad y reducir defectos en C, C++ y Objective-C.
Offensive 360 ©️ — El sistema comercial de análisis estático de código no requiere compilar el código fuente ni pre-compilación.
OpenRewrite — OpenRewrite corrige problemas comunes de análisis estático reportados a través de Sonar y otras herramientas usando un plugin de Maven y Gradle o la CLI de Moderne.
OpenStaticAnalyzer — OpenStaticAnalyzer es una herramienta de análisis de código fuente que puede realizar un análisis estático profundo del código fuente de sistemas complejos.
oxc — The Oxidation Compiler está creando un conjunto de herramientas de alto rendimiento para el lenguaje JavaScript / TypeScript reescrito en Rust.
parasoft ©️ — Soluciones automatizadas de pruebas de software para pruebas unitarias, de API y de interfaz web. Cumple con MISRA, OWASP y otros.
pfff — Las herramientas de Facebook para análisis de código, visualizaciones o transformación de código fuente que preserva el estilo para muchos lenguajes.
Pixee ©️ — Pixeebot encuentra problemas de seguridad y calidad de código en tu código y crea pull requests listas para fusionar con correcciones recomendadas.
PMD — Un analizador de código fuente para Java, Salesforce Apex, Javascript, PLSQL, XML, XSL y otros.
pre-commit — Un framework para gestionar y mantener pre-commit hooks multilingües.
Precaution — Precaution es una herramienta de seguridad de análisis estático (SAST) diseñada para encontrar vulnerabilidades potencialmente críticas en el código fuente antes de producción. Está disponible como CLI, GitHub Action y GitHub App.
Prettier — Un formateador de código con opiniones propias.
Pronto — Revisión rápida y automatizada de código de tus cambios. Soporta más de 40 runners para varios lenguajes, incluidos Clang, Elixir, JavaScript, PHP, Ruby y más.
PT.PM ⚠️ — Un motor para buscar patrones en el código fuente, basado en Unified AST o UST. En la actualidad se admiten C#, Java, PHP, PL/SQL, T-SQL y JavaScript. Los patrones se pueden describir dentro del código o mediante un DSL.
Putout — Transformador de código conectable y configurable con soporte integrado de plugins de eslint y babel para js, jsx typescript, flow, markdown, yaml y json.
PVS-Studio ©️ — Un análisis estático de código C, C++, C# y Java (condicionalmente gratuito para FOSS y desarrolladores individuales). Con fines publicitarios puedes proponer un gran proyecto FOSS para que sea analizado por empleados de PVS. Soporta el mapeo CWE, OWASP ASVS, MISRA, AUTOSAR y los estándares de codificación SEI CERT.
pylama — Herramienta de auditoría de código para Python y JavaScript. Envuelve pycodestyle, pydocstyle, PyFlakes, Mccabe, Pylint y más
Qwiet AI ©️ — Identifica vulnerabilidades únicas de tu base de código antes de que lleguen a producción. Aprovecha el Code Property Graph (CPG) para ejecutar sus análisis de forma concurrente en un único grafo de grafos. Encuentra automáticamente fallos de lógica de negocio en desarrollo, como secretos hardcodeados y bombas lógicas
Refactoring Essentials — La extensión gratuita de Visual Studio 2015 para refactorizaciones de C# y VB.NET, incluidos analizadores de mejores prácticas de código.
relint — Un linter de archivos estático que te permite escribir reglas personalizadas usando expresiones regulares (RegEx).
ReSharper ©️ — Extiende Visual Studio con inspecciones de código en tiempo real para C#, VB.NET, ASP.NET, JavaScript, TypeScript y otras tecnologías.
Rev-dep — Kit de herramientas de análisis y optimización de dependencias para proyectos modernos de JavaScript y TypeScript. Rastrea imports, identifica dependencias circulares, encuentra código sin usar, limpia node modules.
RIPS ©️ — Un analizador estático de código fuente para vulnerabilidades en scripts de PHP.
Roslyn Analyzers — Implementación basada en Roslyn de los analizadores FxCop.
Roslyn Security Guard — Proyecto que se centra en la identificación de vulnerabilidades potenciales como inyección SQL, cross-site scripting (XSS), CSRF, debilidades criptográficas, contraseñas hardcodeadas y muchas más.
SafeQL — Valida y genera automáticamente tipos TypeScript a partir de consultas SQL crudas en PostgreSQL. SafeQL es un plugin de ESLint para escribir consultas SQL de forma segura con respecto a los tipos.
SAST Online ©️ — Revisa a fondo el código fuente de Android para descubrir y abordar posibles problemas y vulnerabilidades de seguridad. Herramienta en línea de pruebas de seguridad de aplicaciones estáticas (Static Code Analysis)
Scrutinizer ⚠️ ©️ — Un verificador de calidad de código propietario que se puede integrar con GitHub.
Security Code Scan — Analizador de código de seguridad para C# y VB.NET. Detecta varios patrones de vulnerabilidades de seguridad: SQLi, XSS, CSRF, XXE, Open Redirect, etc. Se integra en Visual Studio 2015 y versiones posteriores. Detecta varios patrones de vulnerabilidades de seguridad: SQLi, XSS, CSRF, XXE, Open Redirect, etc.
Semgrep — Una herramienta de análisis estático rápida y de código abierto para encontrar errores y hacer cumplir estándares de código en el editor, en el commit y en CI. Sus reglas se parecen al código que ya escribes; sin árboles de sintaxis abstracta ni peleas con regex. Soporta más de 17 lenguajes.
Semgrep Supply Chain ©️ — Encuentra y remedia rápidamente problemas de seguridad de alta prioridad. Semgrep Supply Chain prioriza el 2% de las vulnerabilidades que son alcanzables desde tu código.
Seqra — Analizador estático centrado en la seguridad para aplicaciones web Java y Kotlin. Analiza bytecode con reglas YAML estilo Semgrep y dataflow de nivel CodeQL (con soporte de primera clase para Spring) para encontrar vulnerabilidades que los escáneres que solo usan código fuente no detectan.
ShiftLeft Scan ⚠️ — Scan es una plataforma DevSecOps gratuita y de código abierto para detectar problemas de seguridad en código fuente y dependencias. Soporta una amplia gama de lenguajes y pipelines de CI/CD. Nota: ShiftLeft cambió su marca a Qwiet AI en 2023, que posteriormente fue adquirida por Harness en septiembre de 2025. Este proyecto de código abierto ya no se mantiene.
shipshape ⚠️ — Plataforma de análisis estático de programas que permite conectar analizadores personalizados a través de una interfaz común.
Sigrid ©️ — Sigrid te ayuda a mejorar tu software midiendo la calidad del código de tu sistema y luego compara los resultados con un punto de referencia de miles de sistemas de la industria para darte consejos concretos sobre las áreas en las que puedes mejorar.
Similarity Tester — Una herramienta que encuentra similitudes entre archivos o dentro de ellos para ayudarte a detectar violaciones del principio DRY.
Skylos — Detección de código muerto, escaneo de seguridad, detección de secretos y análisis de calidad de código para Python, TypeScript y Go. Análisis consciente del framework con 98% de recall. Incluye GitHub Action para CI/CD, extensión de VS Code y servidor MCP para integración con agentes de IA.
Snyk Code ©️ — Snyk Code encuentra vulnerabilidades de seguridad basándose en IA. Su velocidad de análisis nos permite analizar tu código en tiempo real y entregar resultados cuando pulsas el botón de guardar en tu IDE. Los lenguajes admitidos son Java, JavaScript, Python, PHP, C#, Go y TypeScript. Integraciones con GitHub, BitBucket y GitLab. Es gratuito para probar y forma parte de la plataforma Snyk, que también cubre SCA, contenedores e IaC.
SonarQube Cloud ©️ — SonarQube Cloud permite a tu equipo entregar código limpio de forma constante y eficiente con una herramienta de revisión de código que se integra fácilmente en las plataformas DevOps en la nube y amplía tu flujo de trabajo de CI/CD. SonarQube Cloud ofrece un plan gratuito.
SonarQube for IDE — SonarQube for IDE (anteriormente SonarLint) es una extensión gratuita de IDE disponible para IntelliJ, VS Code, Visual Studio y Eclipse, para encontrar y corregir problemas de código en tiempo real, señalando problemas mientras codificas, igual que un corrector ortográfico. Más que un linter, también ofrece una guía contextual enriquecida para ayudar a los desarrolladores a entender por qué hay un problema, evaluar el riesgo y educarlos sobre cómo corregirlo.
SonarQube Server — SonarQube empodera a los equipos de desarrollo con una solución de calidad y seguridad de código que se integra profundamente en tu entorno empresarial; permitiéndote implementar código limpio de forma constante y confiable. SonarQube ofrece una Community Build gratuita y de código abierto.
Sonatype ©️ — Reporta vulnerabilidades conocidas en dependencias comunes y recomienda paquetes actualizados para minimizar cambios que rompan el código