Перейти к навигации Перейти к поиску
Это список инструментов для статического анализа кода .
Язык [ править ]
Многоязычный [ править ]
Инструмент | Последний релиз | Свободное программное обеспечение | Повторяющийся код | Поддерживаемые языки | Ноты |
---|---|---|---|---|---|
Апач Йетус | 2020-12-17 (0.13.0) | Да; ASL 2 | C, C ++, Java, Perl, Python, Ruby, Shell, XML | Набор инструментов для сборки и выпуска. Включен модуль precommit, который используется для выполнения полных и частичных / исправлений CI-сборок, который обеспечивает статический анализ кода с помощью других инструментов как часть настраиваемого отчета. Встроенная поддержка может быть расширена с помощью плагинов. | |
Люкс Axivion Bauhaus | Нет; Проприетарный | да | Ада, C, C ++, C #, Java | Набор инструментов статического анализа кода, который выполняет различные виды анализа, такие как проверка архитектуры, анализ интерфейса, проверка MISRA и обнаружение клонов. | |
Код Dx | Нет; Проприетарный | да | C, C ++, C #, Java, JavaScript, JSP, PHP, Python, Rails, Ruby, Scala, VB.NET, XML [1] | Программное приложение корреляционная уязвимости и система управления , которая использует несколько SAST и ДАДУТ инструменты, а также результаты таких проверок коды. Может рассчитать цикломатическую сложность. | |
CodeScene | 2021-01-01 | Нет; Проприетарный | да | C, C ++, C #, Java, Groovy, JavaScript, TypeScript, Objective-C, Scala, Python, Swift, Go, Visual Basic .Net, PHP, Ruby | Анализ поведенческого кода на основе данных контроля версий. Может анализировать любую кодовую базу и поддерживает X-Ray (или анализ на уровне методов). |
ConQAT (на пенсии) | 2015-02-01 | Да; ASL 2 | C #, C ++, Java, JavaScript, ABAP, Ada | Набор инструментов для непрерывной оценки качества, который позволяет гибко настраивать анализы качества (соответствие архитектуры, обнаружение клонов, показатели качества и т. Д.) И информационные панели. | |
Покровительство | 2021-01-23 (2020.09) [2] | Нет; Проприетарный | C, C ++, C #, Objective-C, Java, Javascript, node.JS, Ruby, PHP, Python | Инструмент статического анализа. Бесплатное использование для проектов с открытым исходным кодом. | |
Код GrammaTechSonar | 2020-06-01 (5.3) | Нет; Проприетарный | C, C ++, Objective-C, Java | Обнаружение дефектов (переполнение буфера, утечка памяти и т. Д.), Проверка параллелизма и безопасности, визуализация архитектуры и метрики программного обеспечения. | |
Источник сканирования приложений безопасности HCL | 2020-12-01 (10.0.3) | Нет; Проприетарный | C, C ++, .NET, Java, JSP, JavaScript, ColdFusion, ASP, PHP, Perl, Visual Basic 6, PL / SQL, Python, T-SQL, COBOL | Анализирует исходный код для выявления уязвимостей безопасности при интеграции тестирования безопасности с процессами и системами разработки программного обеспечения. | |
Facebook Infer | 2020-10-12 (1.0.0) | Да; Массачусетский технологический институт | C, C ++, Java, Objective-C | Нацелен на проблемы с нулевым указателем, утечки, проблемы параллелизма и использование API для мобильных приложений Facebook. Доступен как открытый исходный код на GitHub. | |
Imagix 4D | 2020-10-01 (10.1.0) | Нет; Проприетарный | C, C ++, Java | Версии для Windows и Linux. | |
Kiuwan | 2020-07-22 | Нет; Проприетарный | C , C ++ , C # , Objective-C , Java , JSP , JavaScript , PHP , ABAP , COBOL , JCL , PL / SQL , T-SQL , SQL , Visual Basic , VB.NET , Android | Комплексная платформа Software Analytics для статического анализа кода и автоматической проверки кода. Он охватывает обнаружение дефектов, безопасность приложений и управление ИТ-рисками с расширенными функциями управления жизненным циклом и приложениями. Поддержка более 20 языков. | |
Klocwork | 2020-12-01 (2020.4) | Нет; Проприетарный | C, C ++, C #, Java. | Обеспечивает уязвимость системы безопасности, соответствие стандартам (MISRA, ISO 26262 и др.), Обнаружение дефектов и анализ тенденций роста надстройки | |
Стенд LDRA | Нет; Проприетарный | C, C ++, Ada83, Ada95, Ассемблер (Intel, Freescale, Texas Instruments) | Набор инструментов для анализа и тестирования программного обеспечения. | ||
МАЛЬПАС | Нет; Проприетарный | Ада, C, Паскаль, Ассемблер (Intel, PowerPC и Motorola) | Программный набор инструментов статического анализа для различных языков. Используется в основном для критических с точки зрения безопасности приложений в атомной и аэрокосмической отраслях. | ||
лось | 2021-01-21 (7.0.3) | Да; Массачусетский технологический институт | C, C ++, Java, Smalltalk, .NET, | Moose начинался как платформа для анализа программного обеспечения со множеством инструментов для управления, оценки или визуализации программного обеспечения. Он может развиться до более общей платформы анализа данных. | |
Детектор копирования / вставки PMD (CPD) | 2021-01-30 (6.31.0) | Да; BSD-подобный | да | C , C ++ , Java , JSP , ColdFusion , PHP , JavaScript | обнаружение повторяющегося кода (например) [3] код. |
Polyspace | Нет; Проприетарный | C, C ++ и Ada | Использует абстрактную интерпретацию для обнаружения и подтверждения отсутствия определенных ошибок времени выполнения в исходном коде . | ||
Pretty Diff | 2019-04-21 (101.0.0) | Да; CC0 | Нет | Языки разметки, скриптов и стилей (например, XML, Javascript, CSS) | Язык конкретного сравнения кода инструмент , который показывает язык-конкретную информацию для анализа в дополнении к языку конкретной минификации и благоустройства алгоритмам. |
PVS-Studio | 2020-12-17 (7.11) | Нет; Проприетарный | Нет | C, C ++, C ++ / CLI, C ++ / CX (расширения компонентов), C #, Java | Инструмент анализа программного обеспечения. |
RIPS | 2020-02-17 (3.4) | Нет; Проприетарный | PHP, Java, Node.js | Решение для статического анализа кода с множеством вариантов интеграции для автоматического обнаружения сложных уязвимостей безопасности. | |
Семгреп | 2021-03-16 (0,43,0) | Да; LGPL v2.1 | Нет | Go , Java , JavaScript , JSON , Python , Ruby , независимый от языка режим | Инструмент статического анализа, помогающий определять стандарты кода и обнаруживать ошибки на ранней стадии. Он также имеет экспериментальную поддержку еще одиннадцати языков. Также доступны служба CI и библиотека правил. |
Sider | 2021-02-02 | Нет; Проприетарный | Руби, Python, PHP, JavaScript, CoffeeScript, Go | Инструмент автоматической проверки кода на основе статического анализа кода, работающий на GitHub и GitLab. Проверяет стиль, качество, зависимости, безопасность и ошибки. Он объединяет ряд инструментов статического анализа с открытым исходным кодом. | |
SofCheck Inspector / Codepeer | 2020-08-24 (21.x) | Нет; Проприетарный | да | Ада , Java | Статическое обнаружение логических ошибок, состояний гонки и избыточного кода . автоматически извлекает предварительно - постусловий из кода. |
SonarQube | 2021-01-27 (8.6.1) | Да; LGPL v3.0 | ABAP, Apex, C, C #, C ++, CSS, COBOL, Flex, Go, HTML, Java, JavaScript, Kotlin, Objective-C, PHP, PLI, PL / SQL, Python, Ruby, Scala, Swift, TSQL, TypeScript, VB.NET, Visual Basic 6, XML | Механизм непрерывной проверки, который обнаруживает уязвимости, ошибки и запахи кода . Также отслеживает сложность кода, покрытие модульными тестами и дублирование. | |
SourceMeter | 2016-12-16 (8.2) | Нет; Проприетарный | да | Java, C, C ++, RPG IV (AS / 400), Python | Независимый от платформы анализатор статического исходного кода командной строки. Интегрируется с PMD и SpotBugs. |
Sotoarc - Фотограф | 2018-12-03 (5.0) | Нет; Проприетарный | C, C ++, C #, Java, ABAP | Архитектура и качество, глубокий анализ и мониторинг. | |
Squore | 2020-11-27 (20.1) | Нет; Проприетарный | Ада, C, C ++, C #, Fortran, Java, Javascript, Objective-C, PHP, Python, PL / SQL, Swift, T-SQL, Typescript, VB.NET, XAML | Многоцелевой и многоязычный инструмент для мониторинга программных проектов. Он интегрируется с другими сканерами. | |
Понимать | 2020-09-21 (6.0) | Нет; Проприетарный | Ада, Кобол, Ansi C, K&R C, Ansi C ++, C #, FORTRAN, Java, Jovial, Pascal, PL / M, Python, VHDL, Objective C / C ++, HTML, PHP, JavaScript, XML | Мультиплатформенный инструмент для анализа кода и понимания больших кодовых баз. | |
Яска (на пенсии) | 2010-11-01 (2.21) | да | C, C ++, Java, JavaScript, ASP, PHP, HTML-CSS, ColdFusion, COBOL | Еще один анализатор исходного кода, фреймворк на основе подключаемых модулей для сканирования файлов произвольных типов с помощью подключаемых модулей. Он интегрируется с другими сканерами, включая FindBugs , PMD и Pixy. |
.NET [ править ]
Инструмент | Последний релиз | Свободное программное обеспечение | Повторяющийся код | Ноты |
---|---|---|---|---|
Платформа компилятора .NET (кодовое имя Roslyn ) | Платформа компилятора с открытым исходным кодом для C # и Visual Basic .NET, разработанная Microsoft .NET. Предоставляет API для анализа синтаксиса и управления им. | |||
CodeIt.Right | Сочетает статический анализ кода и автоматический рефакторинг с лучшими практиками, что позволяет автоматически исправлять ошибки и нарушения кода; поддерживает C # и VB.NET. | |||
CodeRush | Плагин для Visual Studio, который предупреждает пользователей о нарушениях передовых практик. | |||
FxCop | Бесплатный статический анализ для программ Microsoft .NET, компилируемых в CIL . Автономный и интегрированный в некоторые редакции Microsoft Visual Studio ; от Microsoft. | |||
NDepend | Упрощает управление сложной базой кода .NET за счет анализа и визуализации зависимостей кода, определения правил проектирования, анализа воздействия и сравнения различных версий кода. Интегрируется в Visual Studio . | |||
StyleCop | Анализирует исходный код C #, чтобы обеспечить соблюдение набора правил стиля и согласованности. Его можно запустить из Microsoft Visual Studio или интегрировать в проект MSBuild . |
Ада [ править ]
Инструмент | Последний релиз | Свободное программное обеспечение | Повторяющийся код | Ноты |
---|---|---|---|---|
AdaControl | Инструмент для контроля появления различных сущностей или шаблонов программирования в коде Ada, используемый для проверки стандартов кодирования, обеспечения соблюдения правил, связанных с безопасностью, и поддержки различных проверок вручную. Возможна автоматическая фиксация нарушений. | |||
CodePeer | Усовершенствованный инструмент статического анализа, который обнаруживает потенциальные логические ошибки времени выполнения в программах Ada. | |||
Fluctuat | Абстрактный интерпретатор для проверки числовых свойств программ. | |||
Стенд LDRA | Набор инструментов для анализа и тестирования программного обеспечения для Ada83 / 95. | |||
Polyspace | Использует абстрактную интерпретацию для обнаружения и подтверждения отсутствия определенных ошибок времени выполнения в исходном коде . | |||
SofCheck Inspector (Куплено AdaCore ) | Статическое обнаружение логических ошибок, состояний гонки и избыточного кода для Ada; автоматически извлекает предварительно - постусловий из кода. | |||
Набор инструментов SPARK | Инструменты проверки для SPARK 2014 - подмножества Ada 2012, в котором используется поддержка контрактов Ada. Разработан для обеспечения надежности, глубины, модульности и эффективности проверки. |
C , C ++ [ править ]
Инструмент | Последний релиз | Свободное программное обеспечение | Повторяющийся код | Ноты |
---|---|---|---|---|
Astrée | Нет; Проприетарный | находит все потенциальные ошибки времени выполнения и расхождения данных путем абстрактной интерпретации , может доказать их отсутствие и может подтвердить функциональные утверждения; адаптирован к критически важному для безопасности коду C (например, для авионики и автомобилей). Включает проверку MISRA. | ||
BLAST (на пенсии) | 2015-10-30 (2.7.3) | Да; ASL 2 | Программа проверки моделей программного обеспечения с открытым исходным кодом для программ на языке C, основанная на ленивой абстракции (последующий проект - CPAchecker. [4] ). | |
Лязг | 2021-01-14 (11.0.1) | Да; ASL 2 с исключениями LLVM (v9.0.0 <) | Компилятор с открытым исходным кодом, включающий статический анализатор. | |
Coccinelle | 2021-02-25 (1.1.0) | Да; GPLv2 | Сопоставление и преобразование шаблонов исходного кода с открытым исходным кодом. | |
Покровительство | 2019-12-14 (2020.12) [5] | Нет; Проприетарный | Инструмент статического анализа для C / C ++. | |
CPAchecker | Да; ASL 2 | Инструмент для проверки пути выполнения C. | ||
Cppcheck | 2020-12-05 (2.3) | Да; GPL | Нет | Инструмент с открытым исходным кодом, который проверяет несколько типов ошибок, включая использование STL . Добавляется поддержка MISRA. |
Cppdepend | 2021-01-01 (2021.1) | Нет; Проприетарный | Упрощает управление сложной базой кода C / C ++ за счет анализа и визуализации зависимостей кода, определения правил проектирования, анализа воздействия и сравнения различных версий кода. | |
cpplint | Да; ASL 2 | Инструмент с открытым исходным кодом, который проверяет соответствие руководству Google по стилю программирования на C ++. | ||
ЭКЛЕР | Нет; Проприетарный | Платформа для автоматического анализа, проверки, тестирования и трансформации программ C и C ++. | ||
Затмение | да | IDE с открытым исходным кодом, включающая статический анализатор кода. | ||
Fluctuat | Нет; Проприетарный | Абстрактный интерпретатор для проверки числовых свойств программ. | ||
Фрама-С | да | Расширяемая платформа анализа с открытым исходным кодом для C с несколькими анализаторами и общим для всех языком спецификаций. Включает анализ, основанный на абстрактной интерпретации, дедуктивной проверке и мониторинге выполнения. | ||
Helix QAC | 2020.1 | Ранее PRQA QA · C и QA · C ++, глубокий статический анализ C / C ++ для обеспечения качества и соблюдения стандартов кодирования с поддержкой MISRA. | ||
Сделать вывод | 2020-10-12 (1.0.0) | Да; Массачусетский технологический институт | Разработан командой инженеров Facebook при участии разработчиков открытого исходного кода. Нацелен на нулевой указатель и другие проблемы с памятью. Доступен как open-source на github. | |
Линт | 1978-07-26 | Да; Разрешительный BSD-подобный [6] | Нет | Оригинальный статический анализатор кода для C. |
Стенд LDRA | 2019-07-30 (v9.8.1) | Набор инструментов для анализа и тестирования программного обеспечения для C / C ++, который выполняет статический анализ, соблюдение стандартов (например, MISRA C / C ++), динамический анализ, модульное тестирование и отслеживание требований. | ||
Тест Parasoft C / C ++ | 10.4.2 | Нет; Проприетарный | Инструмент AC / C ++, который выполняет статический анализ, модульное тестирование, проверку кода и обнаружение ошибок времени выполнения; плагины, доступные для IDE на основе Visual Studio и Eclipse . | |
PC-Lint | Нет | Инструмент программного анализа для C с частичной поддержкой C ++ 2011. | ||
Polyspace | Нет | Использует абстрактную интерпретацию для обнаружения и подтверждения отсутствия ошибок времени выполнения , мертвого кода в исходном коде, а также используется для проверки всех правил MISRA (2004, 2012) (директивы, не директивы). | ||
SLAM проект | проект Microsoft Research по проверке соответствия программного обеспечения критическим поведенческим свойствам используемых интерфейсов. | |||
Разреженный | 2020-10-18 (0.6.3) | да | Инструмент с открытым исходным кодом, предназначенный для поиска ошибок в ядре Linux. | |
SonarQube | 8.1 | Да; LGPL v3.0 | да | Инструмент с открытым исходным кодом, который предлагает поддержку C / C ++ через коммерческую лицензию. Умеет вычислять цикломатическую сложность. |
Шина | 3.1.2 | да | Инструмент с открытым исходным кодом, статически проверяющий программы на языке C на наличие уязвимостей и ошибок кодирования. | |
Visual Studio | Нет | IDE, обеспечивающая статический анализ кода для C / C ++ как в среде редактора, так и из командной строки компилятора. |
Фортран [ править ]
- Фортран- Линт [7] (Information Processing Techniques, Inc)
IEC 61131-3 [ править ]
- Статический анализ CODESYS - интегрированное дополнение для CODESYS (код приложения реализован, например, в ST, FBD, LD)
Java [ править ]
Инструмент | Последний релиз | Свободное программное обеспечение | Повторяющийся код | Ноты |
---|---|---|---|---|
Checkstyle | 2020-01-26 | Да; LGPL | Нет | Помимо некоторого статического анализа кода, его можно использовать для выявления нарушений настроенного стандарта кодирования. Обнаружение повторяющегося кода было удалено [8] из Checkstyle. |
Покровительство | 2017-01-19 | Нет; Проприетарный | Coverity - это платформа статического анализа и статического тестирования безопасности приложений (SAST), которая обнаруживает критические дефекты и слабые места безопасности в написанном коде до того, как они станут уязвимостями, сбоями или проблемами при обслуживании. | |
Затмение | 2017-06-28 | Да; EPL | Нет | Кросс-платформенная IDE с собственным набором из нескольких сотен инспекций кода, доступных для анализа кода на лету в редакторе и массового анализа всего проекта. Плагины для Checkstyle, FindBugs и PMD. |
FindBugs | 2015-03-06 | Да; LGPL | На основе Jakarta BCEL Университета Мэриленда. SpotBugs - духовный преемник FindBugs, продолжающий с того момента, на котором он остановился, при поддержке своего сообщества. | |
Сделать вывод | 2017-10-19 | Да; BSD с дополнительной патентной оговоркой | Разработан командой инженеров Facebook при участии разработчиков открытого исходного кода. Нацелен на исключения нулевого указателя, утечки и проблемы безопасности потоков. | |
IntelliJ IDEA | 2017-11-30 | Да; ASL 2 | да | Ведущая Java IDE со встроенной проверкой и анализом кода. Плагины для Checkstyle, FindBugs и PMD. |
JArchitect | 2017-06-11 | Нет; Проприетарный | Упрощает управление сложной базой кода за счет анализа и визуализации зависимостей кода, определения правил проектирования, анализа воздействия и сравнения различных версий кода. | |
Jtest | 2019-05-21 | Нет; Проприетарный | да | Продукт Parasoft для тестирования и статического анализа кода . |
Стенд LDRA | Нет; Проприетарный | Набор инструментов для анализа и тестирования. | ||
PMD | 2020-10-24 | Да; BSD , ASL 2 , LGPL | да | Анализатор исходного кода на основе статического набора правил, который определяет потенциальные проблемы. |
RIPS | 2019-01-07 | Нет; Проприетарный | Решение для анализа исходного кода для конкретного языка с множеством вариантов интеграции для точного обнаружения сложных проблем с безопасностью и качеством. | |
Семгреп | 2021-03-16 (0,43,0) | Да; LGPL v2.1 | Нет | Инструмент статического анализа, помогающий определять стандарты кода и обнаруживать ошибки на ранней стадии. Также доступны служба CI и библиотека правил. |
SemmleCode | Нет; Проприетарный | Запросы объектно-ориентированного кода для статического анализа программ. | ||
Сажа | 2020-10-28 | Да; LGPL | Среда управления языками и оптимизации, состоящая из промежуточных языков. | |
Шквал | 2011-05-26 | Да; LGPL | Платформа для управления качеством программного обеспечения. | |
SourceMeter | 2016-02-01 | Нет; Проприетарный | да | Независимый от платформы анализатор статического исходного кода командной строки. |
ThreadSafe | 2014-03-28 | Нет; Проприетарный | Инструмент статического анализа, ориентированный на поиск ошибок параллелизма. |
JavaScript [ править ]
- ESLint - средство проверки и форматирования синтаксиса JavaScript .
- Google's Closure Compiler - оптимизатор JavaScript, который переписывает код, делая его быстрее и меньше, и проверяет использование встроенных функций JavaScript.
- JSHint - форк JSLint, управляемый сообществом.
- JSLint - средство проверки и проверки синтаксиса JavaScript.
- Semgrep - инструмент статического анализа, помогающий определять стандарты кода и обнаруживать ошибки на ранней стадии. Также доступны служба CI и библиотека правил.
Objective-C , Objective-C ++ [ править ]
- Clang - бесплатный проект Clang включает статический анализатор. Начиная с версии 3.2 этот анализатор включен в Xcode . [9]
- Infer - разработан командой инженеров Facebook при участии участников с открытым исходным кодом. Нацелен на нулевые указатели, утечки, использование API и другие проверки линта. Доступен как открытый исходный код на github.
Опа [ править ]
- Opa включает в себя собственный статический анализатор. Поскольку язык предназначен для разработки веб-приложений, компилятор со строгой статической типизацией проверяет допустимость высокоуровневых типов для веб-данных и по умолчанию предотвращает многие уязвимости, такие как XSS- атаки и инъекции кода базы данных.
Упаковка [ править ]
- Lintian - проверяет программные пакеты Debian на общие несоответствия и ошибки.
- Rpmlint - проверяет общие проблемы в пакетах rpm.
Perl [ править ]
- Perl :: Critic - инструмент, помогающий применять общие передовые практики Perl. Большинство лучших практик основано на книге Дэмиана Конвея « Лучшие практики Perl» .
- PerlTidy - Программа, которая действует как средство проверки синтаксиса и тестировщик / принудительное средство для практики кодирования на Perl.
- Padre - IDE для Perl, которая также обеспечивает статический анализ кода для проверки общих ошибок новичков.
PL / SQL [ править ]
- TOAD - среда разработки PL / SQL с компонентом Code xPert, который сообщает об общей эффективности кода, а также о конкретных проблемах программирования.
- Visual Expert - инструмент анализа кода PL / SQL [10], который сообщает о проблемах программирования и помогает понимать и поддерживать сложный код ( анализ воздействия , документация по исходному коду , деревья вызовов , матрица CRUD и т. Д.).
Python [ править ]
- PyCharm - кроссплатформенная среда разработки Python с инспекциями кода, доступными для анализа кода на лету в редакторе и массового анализа всего проекта.
- PyDev - IDE Python на основе Eclipse с анализом кода, доступным "на лету" в редакторе или в режиме экономии времени.
- Pylint - Статический анализатор кода. Довольно строгие; также содержит множество стилистических предупреждений.
- Semgrep - статический анализатор кода, помогающий определять стандарты кода и обнаруживать ошибки на ранней стадии. Также доступны служба CI и библиотека правил.
Transact-SQL [ править ]
- Visual Expert - инструмент анализа кода SQLServer [11], который сообщает о проблемах программирования и помогает понимать и поддерживать сложный код ( анализ воздействия , документация по исходному коду , деревья вызовов , матрица CRUD и т. Д.).
Инструменты формальных методов [ править ]
Инструменты, которые используют звук , то есть приближение к строгой модели, формальные методы подходят к статическому анализу (например, с использованием статических программных утверждений ). Звуковые методы не содержат ложных негативов для программ без ошибок, по крайней мере, в отношении идеализированной математической модели, на которой они основаны (нет «безусловной» надежности). Обратите внимание, что нет гарантии, что они сообщат обо всех ошибках в программах с ошибками, они сообщат хотя бы об одной.
- Astrée - находит все потенциальные ошибки времени выполнения путем абстрактной интерпретации , может доказать отсутствие ошибок времени выполнения и может подтвердить функциональные утверждения; адаптирован к критически важному для безопасности коду C (например, авионика).
- CodePeer - Статически определяет и документирует предварительные и последующие условия для подпрограмм Ada ; статически проверяет предварительные условия на всех участках вызова.
- ECLAIR - использует основанные на формальных методах методы статического анализа кода, такие как абстрактная интерпретация и проверка модели, в сочетании с методами удовлетворения ограничений для обнаружения или доказательства отсутствия определенных ошибок времени выполнения в исходном коде .
- ESC / Java и ESC / Java2 - на основе языка моделирования Java , расширенная версия Java
- Frama-C - платформа анализа с открытым исходным кодом для C, основанная на языке спецификаций ANSI / ISO C (ACSL). Его основные методы включают абстрактную интерпретацию , дедуктивную проверку и мониторинг времени выполнения .
- KeY - платформа анализа для Java, основанная на доказательстве теорем со спецификациями на языке моделирования Java ; может генерировать контрольные примеры как контрпримеры; автономный графический интерфейс или интеграция с Eclipse
- MALPAS - инструмент формальных методов, который использует ориентированные графы и регулярную алгебру для доказательства того, что анализируемое программное обеспечение правильно соответствует его математической спецификации.
- Polyspace - использует абстрактную интерпретацию , технику, основанную на формальных методах, [12] для обнаружения и доказательства отсутствия определенных ошибок времени выполнения в исходном коде для C / C ++ и Ada.
- Набор инструментов SPARK, включая SPARK Examiner - основан на языке SPARK , подмножестве Ada .
См. Также [ править ]
- Автоматическая проверка кода
- Лучшие практики кодирования
- Список философий разработки программного обеспечения
- Динамический анализ кода
- Показатели программного обеспечения
- Интегрированная среда разработки (IDE) и сравнение интегрированных сред разработки . IDE обычно поставляются со встроенной поддержкой статического анализа кода или с возможностью интеграции такой поддержки. Eclipse предлагает такой механизм интеграции для большинства различных типов расширений (плагинов).
Ссылки [ править ]
- ^ «Поддерживаемые инструменты и языки тестирования безопасности приложений» . codedx.com . Проверено 25 апреля 2017 года .
- ^ "Сайт Coverity Scan" . Проверено 2 февраля 2021 .
- ^ «PMD - Просмотрите /pmd/5.0.0 на SourceForge.net» . Проверено 9 декабря 2012 года .
- ^ "CPAchecker" . 2015-02-08.
- ^ «Сообщество клиентов SIG» . community.synopsys.com . Проверено 2 февраля 2021 .
- ^ "UNIX свободен!" . lemis.com. 2002-01-24.
- ↑ Линт для Fortran Денис В. Хаскин (2 мая 1988 г.). «Откажитесь от ваших программ FORTRAN». Цифровой обзор . С. 41–47.
аналогично Source Code Analyzer от DEC, .. вступает в игру гораздо раньше .. до того, как пользователи компилируют свои программы
- ^ https://github.com/checkstyle/checkstyle/issues/523
- ^ «Статический анализ в Xcode» . Apple . Проверено 3 сентября 2009 .
- ^ "Визуальный эксперт для Oracle - Анализатор кода PL / SQL" . www.visual-expert.com . 2017-08-24.
- ^ «Визуальный эксперт для SQL Server - анализатор кода Transact SQL» . www.visual-expert.com . 2017-08-24.
- ^ Cousot, Патрик (2007). «Роль абстрактной интерпретации в формальных методах». Пятая Международная конференция IEEE по программной инженерии и формальным методам (SEFM 2007) . Международная конференция IEEE по программной инженерии и формальным методам. С. 135–140. DOI : 10,1109 / SEFM.2007.42 . ISBN 978-0-7695-2884-7.
Внешние ссылки [ править ]
- Список инструментов статического анализа кода Консорциума безопасности веб-приложений
- Статические средства проверки Java в Curlie
- SAMATE - анализаторы безопасности исходного кода
- SATE - Экспозиция инструмента статического анализа
- «Сравнение средств поиска ошибок для Java» , Ник Рутар, Кристиан Алмазан и Джефф Фостер, Университет Мэриленда . Сравнивает Bandera, ESC / Java 2, FindBugs , JLint и PMD.
- «Мини-обзор средств поиска ошибок Java» , Рик Джеллифф, O'Reilly Media .