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