Команда статического анализатора PVS-Studio, которая до недавнего времени занималась поиском ошибок и потенциальных уязвимостей только в коде C, C++ и C#, подготовила новую версию своего инструмента и для кода Java. Несмотря на то, что в мире Java уже существует ряд инструментов статического анализа, разработчики считают, что их анализатор может быть мощным и составит хорошую конкуренцию.
Один из разработчиков написал в своей статье о том, как создавалась PVS-Studio для Java. Прежде всего, необходимо было разобраться в процессе разработки синтаксического дерева и семантической модели. Поскольку эти элементы являются базовыми, статический анализатор построен вокруг них. В дополнение к ним анализатор также требует анализа потока данных, который позволяет вычислять возможные значения переменных и выражений в каждой точке программы и, благодаря этому, находить ошибки. Также анализатору необходим механизм аннотирования, диагностические правила, интеграция, тестирование и другие методы, подробно описанные в статье.
Традиционно автор приводил примеры ошибок из разных проектов с открытым исходным кодом, обнаруженных анализатором Java. Автор также отметил, что в будущем будут доступны статьи с более подробным отчетом по каждому проекту. До сих пор вы можете просматривать ошибки из проектов Hibernate, Hive, Java Parser, Jenkins и некоторых других.
Кроме того, когда будет доступна первая альфа-версия Java analyzer, разработчики предлагают желающим принять участие в ее тестировании. Для этого напишите в их службу поддержки, и они свяжутся с вами.
Полная статья – https://www.viva64.com/en/b/0572/
Оригинал: “https://dev.to/alexastva/couple-of-words-about-development-of-a-new-static-analyzer-for-java-code-3dmf”