если просто "найти некоторые баги" то можно конечно хоть регэкспами искать
Согласен. На том же Roslyn написан пакет "ищущий 100+ некоторых багов". "Возможный NRE", "Условие всегда истинно", "Поле класса нигде не используется", "рискованное замыкание", и т.д.
Энтузиасты пишут анализаторы под баги, специфичные для конкретного проекта. "Если уж вы передаете constructTime параметр в конструктор класса FooBar: указывайте формат даты\времени", "Вы сравниваете два инстанса типа Price, укажите банк, правила которого используются для сравнения".
Какого рода ошибки ищет Infer? Его же не просто так покупают.