Разработчики статического анализатора PVS-Studio, который до недавнего времени искал ошибки и потенциальные уязвимости в коде на С, С++ и С#, выпустили новую версию продукта, способного обнаружить баги в Java проектах.
По традиции, автор статьи приводит примеры найденных ошибок с помощью PVS-Studio. Предвидя вопросы, сможет ли анализатор найти что-то в таких проектах как IntelliJ IDEA, SpotBugs и других известных инструментах по поиску ошибок в Java коде, в статье предлагается рассмотреть примеры ошибок разного типа из этих проектов.
Например, интересная опечатка из IntelliJ IDEA:
public synchronized boolean isIdentifier(@NotNull String name, final Project project) { if (!StringUtil.startsWithChar(name,'\'') && !StringUtil.startsWithChar(name,'\"')) { name = "\"" + name; } if (!StringUtil.endsWithChar(name,'"') && !StringUtil.endsWithChar(name,'\"')) { name += "\""; } .... }
Данный фрагмент кода проверяет, что имя взято в одинарные или двойные кавычки. Если это не так, то двойные кавычки добавляются автоматически. Из-за опечатки, окончание имени проверяется только на наличие двойных кавычек. В результате, имя, взятое в одинарные кавычки, будет обработано некорректно.
Имя
'Abcd'
из-за добавления лишних двойных кавычек превратится в:
'Abcd'"
Интеграция анализатора в виде плагина может быть осуществима в различные сборочные системы такие, как Maven, Gradle, IntelliJ IDEA. Не обошли стороной и платформу контроля качества кода SonarQube и добавили поддержку языка Java в уже существующий плагин от PVS-Studio.
Помимо этого, разработчики не оставили без внимания С, С++ и С# направления, и внесли важные изменения в их развитие. Появилось много новых диагностик, а также усовершенствованы алгоритмы, позволяющие собирать и обрабатывать информацию, извлекаемую из синтаксического дерева. Сообщения и предупреждения анализатора теперь классифицируются не только согласно CWE, CERT, но и MISRA. Благодаря поддержке этих стандартов анализатор стало возможным эффективно использовать для улучшения безопасности, переносимости и надежности программ для встраиваемых систем.
Еще одной приятной новостью стало бесплатное использование PVS-Studio для всех контрибьюторов open-source проектов, хостящихся на GitHub или Bitbucket.
Подробнее о новой версии PVS-Studio – https://www.viva64.com/ru/b/0602/
Подробнее о других ошибках в Java коде – https://www.viva64.com/ru/b/0603/
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Паника, что-то случилось!!! Ничего не найдено в комментариях. Срочно нужно что-то добавить, чтобы это место не оставалось пустым.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.
Добавить Комментарий