Рекомендация инструмента Static Analysis для Java?

Будучи смутно знакомым с миром Java, я искал инструмент для статического анализа, который также был бы достаточно интеллектуальным, чтобы исправить найденные проблемы. Я работал с инструментом CodePro, но, опять же, я новичок в сообществе Java и не знаю поставщиков.

Какой инструмент вы можете рекомендовать на основе вышеуказанных критериев?

Ответ 1

FindBugs, PMD и Checkstyle - отличный выбор, особенно если вы интегрируете их в свой процесс сборки.

В моей последней компании мы также использовали Fortify для проверки возможных проблем безопасности. Нам повезло, что у меня есть лицензия на предприятие, поэтому я не знаю расходов.

Ответ 4

IntelliJ IDEA от JetBrains. Они также делают ReSharper в сообществе .Net.

Ответ 6

Sonar - это инструмент контроля качества. Он измеряет качество приложений Java благодаря соблюдению правил кодирования, метрических показателей и расширенных индикаторов.

Сонар основан на следующих проектах:

  • JavaNCSS: Показатели качества

  • Checkstyle: Стиль Cheking

  • PMD: сканирование кода для возможных ошибок.

  • Cobertura: Проверить охват

Вы также можете использовать Simian для обнаружения дублирования.

Ответ 7

Все вышеперечисленное - отличные инструменты. Вероятно, PMD является наиболее распространенным.

Другим инструментом является Enerjy. Недавно он стал бесплатным, поэтому вы можете скачать его и попробовать сами. Enerjy несколько более организован и лучше подходит для более крупных команд. Это упрощает настройку и совместное использование правил. Лично я не большой поклонник, но, может быть, вам это понравится больше, чем я.

Ответ 8

CRAP4J - не только удивительное имя, но и весьма полезное. Другие хорошие - все выше, лучше всего (IMHO) - FindBugs, потому что он действительно находит ошибки честности и доброты сразу в большой базе кода.

Ответ 9

Вы можете попробовать JavaDepend, он дополняет другие инструменты статического анализа и предоставляет язык CQL для запроса кода, такого как база данных,

JavaDepend предоставляет также множество интерактивных представлений для понимания существующей базы кода и более чем 82 показателей.

Ответ 10

Несколько коммерческих поставщиков, у которых есть Java-предложение:

Klocwork Coverity

Они не будут "исправлять проблемы", которые они находят (и, я полагаю, ни один из других упомянутых выше), но это все инструменты, которые имеют разные сильные стороны.