Недавно меня спросили об альтернативах Coverity Prevent для кодовой базы, включающей в себя C / C ++ и Java. Очевидно, что на стороне Java бесплатные инструменты включают Findbugs (анализ скомпилированного кода) и PMD (статический анализ кода). Они очень мощные, особенно когда вы начинаете исследовать интеграцию с IDE (которые, опять же, бесплатны).
Однако, когда вы начинаете переходить в область C / C ++ с различными компиляторами, архитектурами и т. Д., Все становится рискованно
Я предложил множество инструментов для Java, включая Findbugs и PMD. То, что я ищу, является лучшим вариантом для стороны C / C ++, когда рассматривается использование следующих метрик:
- Цена: бесплатно лучше, но лучше можно выиграть. Однако модели ценообразования, которые взимают плату за строку кода, ужасны.
- Набор функций: как этот инструмент делает мою жизнь лучше? Каким образом он обнаруживает мои ошибки до того, как я их проверю, до того, как мы отправим код и т. Д .?
- Удобство использования: могу ли я использовать инструмент на своем столе? Могу ли я поделиться отчетами и / или результатами? Могу ли я интегрировать инструмент с Fogbugz (который мы используем в моей группе)? Могу ли я интегрировать инструмент в CruiseControl (или аналогичный)?
Идеальный инструмент - это то, что будет таким же полезным и удобным, как комбинация Findbugs и PMD с идентичным набором функций, все за ноль долларов за место.