В этом репозитории перечислены инструменты статического анализа для всех языков программирования, инструменты сборки, файлы конфигурации и многое другое. Основное внимание уделяется инструментам, улучшающим качество кода, таким как линтеры и форматтеры. Официальный веб-сайт Analysis-tools.dev основан на этом репозитории и добавляет рейтинги, комментарии пользователей и дополнительные ресурсы, такие как видео, для каждого инструмента.
Этот проект был бы невозможен без щедрой поддержки наших спонсоров.
Если вы также хотите поддержать этот проект, перейдите на нашу страницу спонсоров Github.
Запросы на вытягивание приветствуются!
Также обратите внимание на родственный проект Awesome-Dynamic-analysis.
abaplint — Линтер для ABAP, написанный на TypeScript.
abapOpenChecks — расширяет инспектор кода SAP новыми настраиваемыми проверками.
Codepeer ©️ — Обнаруживает ошибки выполнения и логические ошибки.
Polyspace for Ada ©️ — Обеспечивает проверку кода, которая доказывает отсутствие переполнения, деления на ноль, доступа к массиву за пределами границ и некоторых других ошибок времени выполнения в исходном коде.
SPARK ©️ — Набор инструментов статического анализа и формальной верификации для Ada.
Astrée ©️ — Astrée автоматически доказывает отсутствие ошибок времени выполнения и недопустимого параллельного поведения в приложениях C/C++. Он подходит для вычислений с плавающей запятой, очень быстр и исключительно точен. Анализатор также проверяет правила кодирования MISRA/CERT/CWE/Adaptive Autosar и поддерживает сертификацию по ISO 26262, DO-178C уровень A и другим стандартам безопасности. Доступны плагины Jenkins и Eclipse.
CBMC — ограниченная программа проверки моделей для программ на C, пользовательские утверждения, стандартные утверждения, несколько анализов метрик покрытия.
clang-tidy — инструмент линтера C++ на основе Clang с (ограниченной) способностью исправлять проблемы.
clazy — статический анализатор кода, ориентированный на Qt, на базе фреймворка Clang. clazy — это плагин компилятора, который позволяет clang понимать семантику Qt. Вы получаете более 50 предупреждений компилятора, связанных с Qt, от ненужного выделения памяти до неправильного использования API, включая исправления для автоматического рефакторинга.
CMetrics — измеряет размер и сложность файлов C.
CPAchecker — инструмент для настраиваемой проверки программ на языке C. Название CPAchecker было выбрано, чтобы отразить, что инструмент основан на концепции CPA и используется для проверки программ.
cppcheck — Статический анализ кода C/C++.
CppDepend ©️ — Измеряйте, запрашивайте и визуализируйте свой код, чтобы избежать непредвиденных проблем, технического долга и сложности.
cpplint — Автоматическая программа проверки C++, соответствующая руководству по стилю Google.
cqmetrics — Метрики качества кода C.
CScout — метрики сложности и качества кода препроцессора C и C.
ENRE-cpp — ENRE (ENtity Relationship Extractor) — это инструмент для извлечения зависимостей или отношений сущностей кода из исходного кода. ENRE-cpp — это экстрактор отношений ENtity для C/C++, основанный на @eclipse/CDT. (В разработке)
ESBMC — ESBMC — это контекстно-ограниченная программа проверки моделей с открытым исходным кодом и с разрешительной лицензией, основанная на теориях выполнимости по модулю для проверки одно- и многопоточных программ на C/C++.
дефектоскопист
кремень++
Frama-C — Надёжный и расширяемый статический анализатор кода на языке C.
GCC — компилятор GCC имеет возможности статического анализа, начиная с версии 10. Этот параметр доступен только в том случае, если GCC был настроен с включенной поддержкой анализатора. Он также может выводить свою диагностику в файл JSON в формате SARIF (начиная с версии 13).
Goblint — статический анализатор для анализа многопоточных программ на языке C. Его основной целью является обнаружение гонок данных, но он также сообщает о других ошибках времени выполнения, таких как переполнение буфера и разыменование нулевого указателя.
Helix QAC ©️ — Статический анализ корпоративного уровня для встроенного программного обеспечения. Поддерживает стандарты кодирования MISRA, CERT и AUTOSAR.
IKOS — Качественный статический анализатор кода C/C++ на базе LLVM.
Joern — Платформа анализа кода с открытым исходным кодом для C/C++ на основе графов свойств кода.
KLEE — динамический механизм символьного выполнения, построенный на основе инфраструктуры компилятора LLVM. Он может автоматически генерировать тестовые примеры для программ, чтобы тестовые примеры выполняли как можно большую часть программы.
LDRA ©️ — набор инструментов, включающий статический анализ (TBVISION) в соответствии с различными стандартами, включая MISRA C и C++, JSF++ AV, CWE, CERT C, CERT C++ и пользовательские правила.
ПРИЯТЕЛЬ
PC-lint ©️ — Статический анализ для C/C++. Изначально работает под Windows/Linux/MacOS. Анализирует код практически для любой платформы, поддерживает C11/C18 и C++17.
Phasar — платформа статического анализа на основе LLVM, которая включает в себя анализ состояния искажений и типов.
Polyspace Bug Finder ©️ — выявляет ошибки во время выполнения, проблемы параллелизма, уязвимости безопасности и другие дефекты во встроенном программном обеспечении C и C++.
Polyspace Code Prover ©️ — обеспечивает проверку кода, которая доказывает отсутствие переполнения, деления на ноль, доступа к массиву за пределами границ и некоторых других ошибок времени выполнения в исходном коде C и C++.
scan-build — интерфейс для управления статическим анализатором Clang, встроенным в Clang, посредством обычной сборки.
splint — средство проверки статических программ с помощью аннотаций.
SVF — статический инструмент, который обеспечивает масштабируемый и точный анализ межпроцедурных зависимостей для программ на C и C++.
TrustInSoft Analyser ©️ — Полное обнаружение ошибок кодирования и связанных с ними уязвимостей безопасности. Это включает в себя надежное обнаружение неопределенного поведения (переполнение буфера, доступ к массиву за пределами границ, разыменование нулевого указателя, использование после освобождения, деление на ноли, неинициализированный доступ к памяти, переполнение знака, арифметика с недопустимыми указателями и т. д.). , проверка потока данных и управления, а также полная функциональная проверка формальных спецификаций. Поддерживаются все версии от C до C18 и от C++ до C++20. TrustInSoft Analyser получит квалификацию ISO 26262 во втором квартале 2023 года (TCL3). В комплект также входит программа проверки MISRA C.
Вера++
.NET Analysers — организация по разработке анализаторов (диагностика и исправление кода) с использованием платформы .NET Compiler Platform.
ArchUnitNET — библиотека тестирования архитектуры AC# для определения и утверждения правил архитектуры в C# для автоматического тестирования.
code-cracker — библиотека анализатора для C# и VB, которая использует Roslyn для проведения рефакторинга, анализа кода и других тонкостей.
CSharpEssentials
Designite ©️ — Designite поддерживает обнаружение различных особенностей архитектуры, дизайна и реализации, вычисление различных показателей качества кода и анализ тенденций.
Жандарм — Жандарм проверяет программы и библиотеки, содержащие код в формате ECMA CIL (Mono и .NET).
Вывод#
Meziantou.Analyzer — анализатор Roslyn, позволяющий применять некоторые передовые методы C# с точки зрения дизайна, использования, безопасности, производительности и стиля.
NDepend ©️ — Измеряйте, запрашивайте и визуализируйте свой код, избегая непредвиденных проблем, технического долга и сложности.
Puma Scan — Puma Scan обеспечивает безопасный анализ кода в режиме реального времени на предмет распространенных уязвимостей (XSS, SQLi, CSRF, LDAPi, криптография, десериализация и т. д.), когда команды разработчиков пишут код в Visual Studio.
Roslynator — коллекция из более чем 190 анализаторов и более 190 рефакторингов для C# на базе Roslyn.
SonarAnalyzer.CSharp — эти анализаторы Roslyn позволяют создавать чистый код, который является безопасным, надежным и удобным в обслуживании, помогая вам находить и исправлять ошибки, уязвимости и запахи кода в вашей кодовой базе.
ВСДиагностика
Wintellect.Analyzers — диагностические анализаторы платформы компилятора .NET («Roslyn») и исправления кода.
Astrée ©️ — Astrée автоматически доказывает отсутствие ошибок времени выполнения и недопустимого параллельного поведения в приложениях C/C++. Он подходит для вычислений с плавающей запятой, очень быстр и исключительно точен. Анализатор также проверяет правила кодирования MISRA/CERT/CWE/Adaptive Autosar и поддерживает сертификацию по ISO 26262, DO-178C уровень A и другим стандартам безопасности. Доступны плагины Jenkins и Eclipse.
CBMC — ограниченная программа проверки моделей для программ на C, пользовательские утверждения, стандартные утверждения, несколько анализов метрик покрытия.
clang-tidy — инструмент линтера C++ на основе Clang с (ограниченной) способностью исправлять проблемы.
clazy — статический анализатор кода, ориентированный на Qt, на базе фреймворка Clang. clazy — это плагин компилятора, который позволяет clang понимать семантику Qt. Вы получаете более 50 предупреждений компилятора, связанных с Qt, от ненужного выделения памяти до неправильного использования API, включая исправления для автоматического рефакторинга.
CMetrics — измеряет размер и сложность файлов C.
cppcheck — Статический анализ кода C/C++.
CppDepend ©️ — Измеряйте, запрашивайте и визуализируйте свой код, чтобы избежать непредвиденных проблем, технического долга и сложности.
cpplint — Автоматическая программа проверки C++, соответствующая руководству по стилю Google.
cqmetrics — Метрики качества кода C.
CScout — метрики сложности и качества кода препроцессора C и C.
ENRE-cpp — ENRE (ENtity Relationship Extractor) — это инструмент для извлечения зависимостей или отношений сущностей кода из исходного кода. ENRE-cpp — это экстрактор отношений ENtity для C/C++, основанный на @eclipse/CDT. (В разработке)
ESBMC — ESBMC — это контекстно-ограниченная программа проверки моделей с открытым исходным кодом и с разрешительной лицензией, основанная на теориях выполнимости по модулю для проверки одно- и многопоточных программ на C/C++.
дефектоскопист
кремень++
Frama-C — Надёжный и расширяемый статический анализатор кода на языке C.
Helix QAC ©️ — Статический анализ корпоративного уровня для встроенного программного обеспечения. Поддерживает стандарты кодирования MISRA, CERT и AUTOSAR.
IKOS — Качественный статический анализатор кода C/C++ на базе LLVM.
Joern — Платформа анализа кода с открытым исходным кодом для C/C++ на основе графов свойств кода.
KLEE — динамический механизм символьного выполнения, построенный на основе инфраструктуры компилятора LLVM. Он может автоматически генерировать тестовые примеры для программ, чтобы тестовые примеры выполняли как можно большую часть программы.
LDRA ©️ — набор инструментов, включающий статический анализ (TBVISION) в соответствии с различными стандартами, включая MISRA C и C++, JSF++ AV, CWE, CERT C, CERT C++ и пользовательские правила.
ПРИЯТЕЛЬ
PC-lint ©️ — Статический анализ для C/C++. Изначально работает под Windows/Linux/MacOS. Анализирует код практически для любой платформы, поддерживает C11/C18 и C++17.
Phasar — платформа статического анализа на основе LLVM, которая включает в себя анализ состояния искажений и типов.
Polyspace Bug Finder ©️ — выявляет ошибки во время выполнения, проблемы параллелизма, уязвимости безопасности и другие дефекты во встроенном программном обеспечении C и C++.
Polyspace Code Prover ©️ — обеспечивает проверку кода, которая доказывает отсутствие переполнения, деления на ноль, доступа к массиву за пределами границ и некоторых других ошибок времени выполнения в исходном коде C и C++.
scan-build — интерфейс для управления статическим анализатором Clang, встроенным в Clang, посредством обычной сборки.
splint — средство проверки статических программ с помощью аннотаций.
SVF — статический инструмент, который обеспечивает масштабируемый и точный анализ межпроцедурных зависимостей для программ на C и C++.
TrustInSoft Analyser ©️ — Полное обнаружение ошибок кодирования и связанных с ними уязвимостей безопасности. Это включает в себя надежное обнаружение неопределенного поведения (переполнение буфера, доступ к массиву за пределами границ, разыменование нулевого указателя, использование после освобождения, деление на ноли, неинициализированный доступ к памяти, переполнение со знаком, арифметика с недопустимыми указателями и т. д.). , проверка потока данных и управления, а также полная функциональная проверка формальных спецификаций. Поддерживаются все версии от C до C18 и от C++ до C++20. TrustInSoft Analyser получит квалификацию ISO 26262 во втором квартале 2023 года (TCL3). В комплект также входит программа проверки MISRA C.
Вера++
ameba — инструмент статического анализа кода для Crystal.
Crystal — компилятор Crystal имеет встроенную функцию проверки.
Показатели Дартс-кода
effect_dart — Правила ЛИНТЕРА, соответствующие рекомендациям в «Эффективном Дарте»
ворс
Linter for dart — Стиль линтера для Dart.
DelphiLint — пакет IDE Delphi, обеспечивающий оперативный анализ кода и анализ кода на базе SonarDelphi.
Fix Insight ©️ — бесплатный плагин IDE для статического анализа кода. Версия Pro включает в себя инструмент командной строки для целей автоматизации.
Pascal Analyser ©️ — Инструмент статического анализа кода с многочисленными отчетами. Доступна бесплатная версия Lite с ограниченной отчетностью.
Pascal Expert ©️ — IDE-плагин для анализа кода. Включает подмножество возможностей создания отчетов Pascal Analyser и доступно для версий Delphi 2007 и более поздних версий.
SonarDelphi — статический анализатор Delphi для платформы качества кода SonarQube.
credo — инструмент статического анализа кода, ориентированный на согласованность кода и обучение.
dialyxir — смешивайте задачи, чтобы упростить использование Dialyzer в проектах Elixir.
sobelow — Статический анализ, ориентированный на безопасность, для Phoenix Framework.
вяз-анализ
elm-review — анализирует целые проекты Elm, уделяя особое внимание общим и пользовательским правилам, написанным в Elm, которые добавляют гарантии, которые компилятор Elm не дает вам.
dialyzer — DIALYZER, анализатор расхождений для программ на ERlang. Dialyzer — это инструмент статического анализа, который выявляет несоответствия программного обеспечения, такие как ошибки определенного типа, код, который стал неработающим или недоступным из-за ошибки программирования, а также ненужные тесты в отдельных модулях Erlang или целых (наборах) приложений. Dialyzer начинает анализ либо с байт-кода BEAM, скомпилированного отладкой, либо с исходного кода Erlang. Сообщается номер файла и строки несоответствия вместе с указанием того, в чем заключается несоответствие. Dialyzer основывает свой анализ на концепции успешного типирования, которая позволяет выдавать звуковые предупреждения (без ложных срабатываний).
Элвис — обозреватель стиля Erlang.
Primitive Erlang Security Tool (PEST) — инструмент для базового сканирования исходного кода Erlang и сообщения о любых вызовах функций, которые могут сделать исходный код Erlang небезопасным.
fantomas — форматировщик исходного кода F#.
FSharpLint — инструмент Lint для F#.
ionide-analyzers — коллекция анализаторов F#, созданная с помощью FSharp.Analyzers.SDK.
fprettify — Автоформатер для современного исходного кода Фортрана, написанного на Python. Fprettify — это инструмент, который обеспечивает согласованное выравнивание пробелов, отступов и разделителей в коде, включая возможность изменять регистр букв и обрабатывать директивы препроцессора, сохраняя при этом историю изменений и тестируя интеграцию с редактором.
i-Code CNES для Fortran — инструмент статического анализа кода с открытым исходным кодом для Fortran 77, Fortran 90 и Shell.
aligncheck — Находит неэффективно упакованные структуры.
bodyclose — Проверяет, закрыто ли тело ответа HTTP.
Deadcode — находит неиспользуемый код.
охотник на динго
Dogsled — находит назначения/объявления со слишком большим количеством пустых идентификаторов.
дублировать
errcheck — Проверьте, используются ли возвращаемые значения ошибок.
errwrap — Оберните и исправьте ошибки Go с помощью новой глагольной директивы %w. Этот инструмент анализирует вызовы fmt.Errorf() и сообщает о вызовах, которые содержат директиву глагола, отличную от новой директивы глагола %w, представленной в Go v1.13. Он также способен перезаписывать вызовы для использования новой директивы глагола переноса %w.
flen — Получить информацию о длине функций в пакете Go.
Перейти Мета Линтерgolangci-lint
для новых проектов.
gotool vet --shadow — сообщает о переменных, которые могли быть непреднамеренно затенены.
go vet — проверяет исходный код Go и сообщает о подозрениях.
go-consistent — анализатор, который поможет вам сделать ваши программы Go более согласованными.
go-critic — линтер исходного кода Go, который поддерживает проверки, которые в настоящее время не реализованы в других линтерах.
go/ast — Пакет ast объявляет типы, используемые для представления синтаксических деревьев для пакетов Go.
запеканка
gochecknoglobals
goconst — Находит повторяющиеся строки, которые можно заменить константой.
гоцикло
gofmt -s — Проверяет, правильно ли отформатирован код и невозможно ли его упростить.
gofumpt — обеспечивает более строгий формат, чем gofmt
, сохраняя при этом обратную совместимость. То есть gofumpt
устраивает подмножество форматов, которые устраивают gofmt
. Этот инструмент является ответвлением gofmt
начиная с Go 1.19 и требует Go 1.18 или более поздней версии. Его можно использовать в качестве замены для форматирования кода Go, а запуск gofmt после gofumpt не должен приводить к каким-либо изменениям. gofumpt
никогда не будет добавлять правила, несовместимые с форматированием gofmt
. Поэтому мы расширяем gofmt
а не конкурируем с ним.
goimports — проверяет отсутствующие или неиспользуемые импортированные пакеты.
gokart — анализ безопасности Golang с упором на минимизацию ложных срабатываний. Он способен отслеживать источник переменных и аргументов функции, чтобы определить, безопасны ли источники входных данных.
GolangCI-Lint — альтернатива Go Meta Linter
: GolangCI-Lint — агрегатор линтеров.
golint — распечатывает ошибки стиля кодирования в исходном коде Go.
goreporter — одновременно запускает множество линтеров и нормализует их вывод в отчет.
goroutine-inspect — интерактивный инструмент для анализа дампа горутины Golang.
gosec (gas) — проверяет исходный код на наличие проблем безопасности путем сканирования Go AST.
gotype — Синтаксический и семантический анализ, аналогичный компилятору Go.
govulncheck — Govulncheck сообщает об известных уязвимостях, влияющих на код Go. Он использует статический анализ исходного кода или таблицы символов двоичного файла, чтобы сузить отчеты до тех, которые могут повлиять на приложение. По умолчанию govulncheck отправляет запросы к базе данных уязвимостей Go по адресу https://vuln.go.dev. Запросы к базе данных уязвимостей содержат только пути к модулям, а не код или другие свойства вашей программы.
ineffassign — Обнаруживает неэффективные назначения в коде Go.
интерфейс
ллл
оклеветанный
опечатка — находит английские слова с часто написанными ошибками.
Nakedret — Находит голые возвраты.
nargs — Находит неиспользуемые аргументы в объявлениях функций.
prealloc — Находит объявления фрагментов, которые потенциально могут быть предварительно выделены.
Reviewdog — инструмент для публикации комментариев к обзорам любого линтера на любом хостинге кода.
revive — Быстрый, настраиваемый, расширяемый, гибкий и красивый линтер для Go. Прямая замена голинта.
SafeSQL
сисё
staticcheck — Статический анализ Go, который специализируется на поиске ошибок, упрощении кода и повышении производительности.
structcheck — Найти неиспользуемые поля структуры.
structslop — Статический анализатор для Go, который рекомендует перестановку полей структуры для обеспечения максимальной эффективности использования пространства/распределения.
test — Показать место сбоя теста из модуля тестирования stdlib.
отменить преобразование
unparam — Найти неиспользуемые параметры функции.
varcheck — Найдите неиспользуемые глобальные переменные и константы.
wsl — добавляет пустые строки в нужных местах.
Бретань
HLint — HLint — это инструмент для предложения возможных улучшений кода Haskell.
Liquid Haskell — Liquid Haskell — это усовершенствованная программа проверки типов программ на Haskell.
Stan — Stan — это инструмент командной строки для анализа проектов Haskell и вывода обнаруженных уязвимостей в полезной форме с возможными решениями обнаруженных проблем.
Weeder — инструмент для обнаружения неработающего экспорта или импорта пакетов в коде Haskell.
Checker Framework — подключаемая проверка типов для Java. Это не просто поисковик ошибок, а инструмент проверки, дающий гарантию корректности. Он поставляется с 27 предварительно созданными системами типов и позволяет пользователям определять свою собственную систему типов; в руководстве перечислено более 30 систем типов, вносимых пользователями.
checkstyle — проверка исходного кода Java на соответствие стандарту кода или набору правил проверки (лучшие практики).
ck — Вычисляет объектно-ориентированные метрики Чидамбера и Кемерера путем обработки исходных файлов Java.
ckjm — Вычисляет объектно-ориентированные метрики Чидамбера и Кемерера путем обработки байт-кода скомпилированных файлов Java.
CogniCrypt — проверяет исходный код Java и байт-код на предмет неправильного использования криптографических API.
Dataflow Framework — промышленная платформа потоков данных для Java. Dataflow Framework используется в Checker Framework, Google Error Prone, Uber NullAway, Meta Nullsafe и в других контекстах. Он распространяется вместе с Checker Framework.
DesigniteJava ©️ — DesigniteJava поддерживает обнаружение различных особенностей архитектуры, дизайна и реализации, а также вычисление различных показателей качества кода.
Diffblue ©️ — Diffblue — компания-разработчик программного обеспечения, которая предоставляет решения для анализа и тестирования кода на базе искусственного интеллекта для команд разработчиков программного обеспечения. Его технология помогает разработчикам автоматизировать тестирование, находить ошибки и сокращать ручной труд в процессах разработки программного обеспечения. Основной продукт компании, Diffblue Cover, использует искусственный интеллект для создания и запуска модульных тестов кода Java, помогая выявлять ошибки и улучшать качество кода.
Doop — Doop — это декларативная среда для статического анализа программ Java/Android, основанная на алгоритмах анализа указателей. Doop предоставляет широкий спектр анализов, а также сопутствующие инструменты для сквозного анализа (генерация фактов, обработка, статистика и т. д.).
ENRE-java — ENRE (ENtity Relationship Extractor) — инструмент для извлечения зависимостей или отношений сущностей кода из исходного кода. ENRE-java — это экстрактор отношений ENtity для проектов Java, основанный на @Eclipse JDT/parser.
Склонность к ошибкам — выявляйте распространенные ошибки Java как ошибки времени компиляции.
fb-contrib — Плагин для FindBugs с дополнительными детекторами ошибок.
запрещенный-apis — обнаруживает и запрещает вызовы определенного метода/класса/поля (например, чтение из текстового потока без кодировки). Совместимость с Maven/Gradle/Ant.
google-java-format — переформатирует исходный код Java в соответствии со стилем Google Java.
Охота на жуков
IntelliJ IDEA ©️ — поставляется с множеством проверок для Java и Kotlin, а также включает инструменты для рефакторинга, форматирования и многого другого.
JArchitect ©️ — Измеряйте, запрашивайте и визуализируйте свой код, избегая непредвиденных проблем, технического долга и сложности.
JBMC — средство проверки ограниченной модели для Java (байт-код), проверяет пользовательские утверждения, стандартные утверждения, анализ нескольких показателей покрытия.
Марианская впадина — наш инструмент статического анализа, ориентированный на безопасность, для приложений Android и Java. Марианская впадина анализирует байт-код Dalvik и рассчитана на быструю работу на больших базах кода (десятки миллионов строк кода). Он может найти уязвимости по мере изменения кода еще до того, как он попадет в ваш репозиторий.
NullAway — средство проверки нулевого указателя на основе типов с низкими затратами времени сборки; плагин, подверженный ошибкам.
Проверка зависимостей OWASP — проверяет зависимости на наличие известных, публично раскрытых уязвимостей.
qulice — объединяет несколько (предварительно настроенных) инструментов статического анализа (checkstyle, PMD, Findbugs, ...).
RefactorFirst — определяет и определяет приоритетность классов God и сильно связанных классов в базах кода Java, которые следует выполнить в первую очередь.
Soot — платформа для анализа и преобразования приложений Java и Android.
Spoon — Spoon — это библиотека метапрограммирования для анализа и преобразования исходного кода Java (включая Java 9, 10, 11, 12, 13, 14). Он анализирует исходные файлы для создания хорошо продуманного AST с мощным API анализа и преобразования. Может быть интегрирован в Maven и Gradle.
SpotBugs — SpotBugs является преемником FindBugs. Инструмент статического анализа для поиска ошибок в Java-коде.
устойчивый — анализирует ваши приложения Java на наличие зависимостей с открытым исходным кодом и известными уязвимостями, используя как статический анализ, так и тестирование, чтобы определить контекст кода и его использование для большей точности.
Violations Lib — библиотека Java для анализа файлов отчетов на основе статического анализа кода. Используется множеством плагинов Jenkins, Maven и Gradle.
эфир
Closure Compiler — инструмент компилятора для повышения эффективности, уменьшения размера и предоставления предупреждений кода в файлах JavaScript.
ЗакрытиеЛинтер
отчет о сложности
DeepScan ©️ — анализатор JavaScript, который нацелен на ошибки времени выполнения и проблемы качества, а не на соглашения по кодированию.
es6-платон
комплекс
Эсприма
flow — средство проверки статического типа для JavaScript.
hegel — Статическая проверка типов для JavaScript с уклоном на вывод типа и строгие системы типов.
jshint — выявляет ошибки и потенциальные проблемы в коде JavaScript и обеспечивает соблюдение соглашений по кодированию вашей команды.
JSLint — инструмент контроля качества кода JavaScript.
JSPrime
NodeJSScan — статический сканер кода безопасности для приложений Node.js на базе libsast и semgrep, основанный на инструменте командной строки njsscan. Он имеет пользовательский интерфейс с различными информационными панелями о состоянии безопасности приложения.
Платон
Polymer-analyzer — платформа статического анализа веб-компонентов.
retire.js — Сканер, обнаруживающий использование библиотек JavaScript с известными уязвимостями.
РСЛинт
стандартный — модуль npm, который проверяет наличие проблем с руководством по стилю Javascript.
tern — анализатор кода JavaScript для глубокой межредакторной языковой поддержки.
ТипL
xo — Самостоятельная, но настраиваемая оболочка ESLint со множеством полезных функций. Обеспечивает строгий и читаемый код.
мерка
JET — система статического вывода типов для обнаружения ошибок и нестабильности типов.
StaticLint — статический анализ кода для Julia
detekt — Статический анализ кода Kotlin.
diktat — строгий стандарт кодирования для Kotlin и линтер, который обнаруживает и автоматически исправляет запахи кода.
ktfmt — программа, которая переформатирует исходный код Kotlin, чтобы он соответствовал общему стандарту сообщества для соглашений о коде Kotlin. Плагин ktfmt IntelliJ доступен в репозитории плагинов. Чтобы установить его, перейдите в настройки вашей IDE и выберите категорию «Плагины». Перейдите на вкладку «Маркетплейс», найдите плагин ktfmt и нажмите кнопку «Установить».
ktlint — линтер Kotlin, предотвращающий сбрасывание велосипедов, со встроенным форматтером.
luacheck — Инструмент для проверки и статического анализа кода Lua.
lualint — lualint выполняет статический анализ использования глобальных переменных в исходном коде Lua на основе luac.
Луанализ
DrNim — DrNim сочетает в себе интерфейс Nim с механизмом проверки Z3, чтобы обеспечить возможность проверки/проверки программного обеспечения, написанного на Nim.
nimfmt — форматировщик кода/линтер/проверка стиля Nim
Sys — статический/символический инструмент для поиска ошибок в коде (браузера). Он использует LLVM AST для поиска ошибок, таких как неинициализированный доступ к памяти.
VERIFAST-Инструмент для модульной формальной проверки свойств правильности однопоточных и многопоточных программ C и Java, аннотированных с предварительными условиями и пост-кондиционированиями, записанными в логике разделения. Чтобы выразить богатые спецификации, программист может определять индуктивные дата дата, примитивные рекурсивные чистые функции над этими датами, а также предикаты логики абстрактного разделения.
CakeFuzzer-инструмент тестирования безопасности веб-приложений для веб-приложений на основе CakePhp. CakeFuzzer использует предопределенный набор атак, которые случайным образом изменяются до выполнения. Используя свое глубокое понимание рамки PHP Cake, пирог Fuzzer запускает атаки на все потенциальные точки входа приложения.
churn-php-помогает обнаружить хороших кандидатов для рефакторинга.
Композитор-зависимость-анализ-быстрое обнаружение проблем с зависимостью композитора.
Dephpend - инструмент анализа зависимостей.
Детектор-детектор-находит использование устаревшего (Symfony) кода.
Deptrac - Правила обеспечения соблюдения зависимостей между программными уровнями.
DesignPatterNdetector - Обнаружение проектных шаблонов в PHP -коде.
EasyCodingstandard-объедините php_codesniffer и php-cs-fixer.
Onlightn - инструмент статического и динамического анализа для приложений Laravel, который предоставляет рекомендации по повышению производительности, безопасности и надежности кода приложений Laravel. Содержит 120 автоматизированных чеков.
Exakat - автоматический механизм просмотра кода для PHP.
Grumphp - проверяет код на каждом коммите.
LARASTAN - добавляет статический анализ в Laravel, повышая производительность разработчиков и качество кода. Это обертка вокруг Phpstan.
Мондриан
Nitpick Ci © ️ - автоматический обзор кода PHP.
Parallel-Lint-этот инструмент проверяет синтаксис файлов PHP быстрее, чем последовательная проверка с более причудливым выводом.
Parse - статический сканер безопасности.
PDEPEND - Вычисляет программные метрики, такие как цикломатическая сложность для PHP -кода.
ФАН - современный статический анализатор от Etsy.
PHP -архитектура тестер - простой в использовании инструмент для тестирования архитектуры для PHP.
Предположения PHP - проверки на слабые предположения.
Fixer Standards PHP кодирования-исправляет ваш код в соответствии с такими стандартами, как PSR-1, PSR-2 и стандарт Symfony.
PHP Insights - Мгновенные проверки качества PHP из вашей консоли. Анализ качества кода и стиля кодирования, а также обзор архитектуры кода и его сложности.
PHP Inspuctions (EA расширен) - статический анализатор кода для PHP.
PHP Рефакторинг браузера - рефакторинг помощника.
PHP семантическая проверка версий
PHP-Parser-анализатор PHP, написанный в PHP.
PHP-Speller-библиотека проверки орфографии PHP.
PHP-token-Reflection
PHP7CC
Php7mar
Php_codesniffer - обнаруживает нарушения определенного набора стандартов кодирования.
Phparkitect - Phparkitect помогает вам сохранить когерентную и твердую PHP -базу, разрешив добавить некоторую архитектурную проверку ограничения в ваш рабочий процесс. Вы можете выразить ограничение, которое вы хотите применять, в простом и читаемом PHP -коде.
PHPCA
PHPCPD
phpdcd
Phpdependencyanalysis
PhpDeprecationDetector - Анализатор PHP -кода для поиска проблем с устаревшей функциональностью в более новых версиях интерпретатора. Он находит удаленные объекты (функции, переменные, константы и ini-образные), устаревшие функции и использование запрещенных имен или трюков (например, зарезервированные идентификаторы в более новых версиях).
Phpdoc-typehint
PhpDocumentor - анализирует исходный код PHP для создания документации.
Phploc - инструмент для быстрого измерения размера и анализа структуры PHP -проекта.
PHPMD - находит возможные ошибки в вашем коде.
PhpMetrics - рассчитывает и визуализирует различные показатели качества кода.
PHPMND - помогает обнаружить магические числа.
Phpqa
PHPQA - JAKZAL - Многие инструменты для статического анализа PHP в одном контейнере.
PHPQA-JMOLIVAS-PHPQA All-In-One Analyzer CLI Tool.
PHPSA
Phpstan - инструмент статического анализа PHP - обнаружите ошибки в вашем коде, не запустив его!
Progpilot - инструмент статического анализа для целей безопасности.
Псалом - Статический инструмент анализа для поиска ошибок типа в приложениях PHP.
Qafoo Quality Analyzer
Ректор - Мгновенные модернизации и автоматизированный рефакторинг любого кода PHP 5.3+. Это обновляет ваш код для PHP 7.4, 8,0 и выше. Ректор обещает низкую ложноположительную скорость, потому что он ищет узко определенные паттерны AST (абстрактное синтаксическое дерево). Основным вариантом использования является решение технического долга в вашем устаревшем коде и удаление мертвого кода. Ректор предоставляет набор специальных правил для Symfony, доктрины, Phpunit и многих других.
Отражение - библиотека размышлений для проведения статического анализа для PHP -проектов
Symfony Insight © ️ - Обнаружение рисков безопасности, найдите ошибки и предоставьте действенные показатели для PHP -проектов.
ТУЛИ - Статический аналитический двигатель.
Twig-Lint-Twig-Lint-это инструмент Lint для ваших файлов Twig.
WAP - инструмент для обнаружения и правильной уязвимости проверки ввода в веб -приложениях PHP (4,0 или выше) и прогнозирует ложные позитивы, объединяя статический анализ и интеллектуальный анализ данных.
Perl :: Analyzer-Perl-Analyzer-это набор программ и модулей, которые позволяют пользователям анализировать и визуализировать кодовые базы Perl, предоставляя информацию о пространствах имен и их отношениях, зависимостях, наследии и методах, внедренных, унаследованных и переопределенных в пакетах. в качестве вызовов к методам родительских пакетов через Super.
Perl :: Critic-Critiquare Perl Source Code для лучших практик.
Perltidy - Perltidy - это сценарий Perl, который отступает и переформирует сценарии Perl, чтобы облегчить их чтение. Форматирование можно управлять параметрами командной строки. Настройки параметра по умолчанию примерно следуют предложениям в руководстве по стилю Perl. Помимо переформатирования сценариев, Perltidy может оказать большую помощь в отслеживании ошибок с отсутствующими или дополнительными скобками, скобками и квадратными скобками, потому что он очень хорош в локализации ошибок.
Zarn - легкий инструмент анализа статической безопасности для современных приложений Perl
AutoFlake - Автофляк удаляет неиспользованный импорт и неиспользованные переменные из кода Python.
Autopep8 - инструмент, который автоматически форматирует код Python, чтобы соответствовать руководству по стилю PEP 8. Он использует утилиту Pycodestyle, чтобы определить, какие части кода должны быть отформатированы.
Bandit - инструмент для поиска общих проблем безопасности в коде Python.
Bellybutton-двигатель Linting, поддерживающий пользовательские правила, специфичные для проекта.
Черный - бескомпромиссный форматер кода Python.
Боулер - Рефакторинг безопасного кода для современного питона. Боулер является инструментом рефакторинга для манипулирования питоном на уровне синтаксиса. Это обеспечивает безопасные, крупномасштабные модификации кода, гарантируя, что полученный код компилируется и запускается. Он предоставляет как простой интерфейс командной строки, так и Fluent API в Python для создания сложных модификаций кода в коде.
Ciocheckpep8
, pydocstyle
, flake8
и pylint
.
сплоченность
Сделка - Дизайн по контракту на Python. Напишите код без ошибок. Добавив несколько декораторов в свой код, вы получаете бесплатные тесты, статический анализ, формальную проверку и многое другое.
Dlint - инструмент для обеспечения безопасного кода Python.
Dodgy - Dodgy - очень простой инструмент для работы с вашей кодовой базой для поиска «хищных» значений. Это серия простых регулярных выражений, предназначенных для обнаружения таких вещей, как случайные проверки Diff Diff, или пароли или секретные ключи, которые жестко кодировали в файлы.
Enre-Py
Fixit-структура для создания правил ворса и соответствующих автофиксов для исходного кода.
Flake8 - обертка вокруг pyflakes
, pycodestyle
и mccabe
.
FlakeHeaven - FlakeHeaven - это питонный линтер, построенный вокруг Flake8, чтобы обеспечить наследуемую и сложную конфигурацию TOML.
Грифф - подписи для целых программ Python. Извлеките структуру, кадр, скелет вашего проекта, чтобы сгенерировать документацию API или найти нарушающие изменения в вашем API.
Inspectortiger
Джедаи - библиотека автозаполнения/статического анализа для Python.
Linty Fresh - ошибки Parse Lint и сообщите о них в GitHub в качестве комментариев по запросу на привлечение.
McCabe - проверьте сложность McCabe.
многослойныйflake8
, isort
и modernize
.
Mypy - статический контроль типа, целью которого является сочетание преимуществ печати утки и статического набора, часто используемого с MonkeyType.
Prospector - обертка вокруг pylint
, pep8
, mccabe
и других.
PY-FIND-инъекция
Pyanalyze - инструмент для программного обнаружения общих ошибок в коде Python, таких как ссылки на неопределенные переменные и ошибки типа. Это может быть расширено, чтобы добавить дополнительные правила и выполнить проверки, конкретные для конкретных функций.
Pycodequal © ️ - Pycodequal дает вам представление о сложности и рисках ошибок. Это добавляет автоматические отзывы к вашим запросам.
Pycodestyle - (ранее pep8
) Проверьте код Python на некоторые конвенции в стиле в PEP 8.
pydocstyle
Pyflakes - Проверьте исходные файлы Python на наличие ошибок.
Pylint - ищет ошибки программирования, помогает обеспечить соблюдение стандарта кодирования и обнюхивать некоторые запахи кода. Это дополнительно включает в себя pyreverse
(генератор диаграмм UML) и symilar
(проверка сходства).
Pylyzers - Статический кодовый анализатор / языковой сервер для Python, написанный в Rust, сфокусированный на проверке типов и читаемом выходе.
Pyre-Check-быстрый, масштабируемый шарик типа для больших кодовых баз Python.
Pyright - Static Type Checker для Python, созданный для решения пробелов в существующих инструментах, таких как Mypy.
пирома
PYSA-инструмент, основанный на проверке Pyre Facebook для выявления потенциальных проблем безопасности в коде Python, выявленного с анализом Deaint.
Pyt - python daint
Pytype - анализатор статического типа для кода Python.
Pyupgrade-инструмент (и предварительный крючок) для автоматического обновления синтаксиса для более новых версий языка.
Количественный код
Радон - инструмент Python, который вычисляет различные метрики из исходного кода.
РЕКРУГИЕ - инструмент для ремонта и модернизации кодовых баз Python. Реконструкция сильно вдохновлен Clippy, встроенным Линтером для ржавчины.
Руфф - Fast Python Linter, написанный в Rust. 10-100x быстрее, чем существующие линтеры. Совместим с Python 3.10. Поддерживает наблюдатель за файлом.
Unimport - Linter, форматер для поиска и удаления неиспользованных заявлений импорта.
Стервятник - Найдите неиспользованные классы, функции и переменные в коде Python.
Wemake-Python-styleguide-самый строгий и самый самоуверенный Python Linter.
хитрый