Бесплатный статический сканер кода для C / C ++ / C # [закрыт]
-
20-08-2019 - |
Вопрос
Кто-нибудь знает сканер кода с открытым исходным кодом и / или бесплатный для автоматизированного анализа кода на C #, C или C ++?
Я знаю, что для Java есть несколько замечательных вещей, таких как FindBugs (Eclipse integrated), PMD или Hammurapi.
Есть ли что-нибудь подобное для C-языков?
виши
Решение
Для языков .NET вы можете посмотреть на Кодометрия отражателя который предоставляет некоторые показатели анализа кода и дизайна.Также взгляните на все Добавление отражателя.
Я также поддерживаю рекомендацию для FxCop и StyleCop.
Другие советы
FxCop - это бесплатный сканер для .Net.
http://msdn.microsoft.com/en-us/library/bb429476 (стих 80).aspx
StyleCop выполняет анализ на уровне исходного кода.
NDepend имеет двухнедельную пробную лицензию.
Что касается кода на C, вы можете взглянуть на Coccinelle.Он уже используется для поиска и исправления ошибок в ядре Linux.
Resharper выполняет некоторый анализ кода, специально для выявления избыточного кода и логических ошибок.
Возможно, вам удастся извлечь некоторую пользу из запуска VC ++ с переключателем / analyze.Хотя этот конкретный переключатель доступен не в каждом выпуске.Получите компилятор, который поставляется вместе с Windows SDK.
Благодаря комментариям здесь и некоторой магии Google я пришел к splint:http://splint.org/
- Кажется, это весьма полезно для C.
- простота в использовании
- не зависит от Visual Studio
Расширения FxCop и StyleCop выглядят очень сложными для VisualStudio и .Net.
Пока спасибо, желаю
Вы найдете список бесплатных и не очень инструментов статического анализа здесь.
Жандарм является бесплатным и с открытым исходным кодом.Он анализирует на уровне IL и предоставляет информацию, связанную с исходными файлами, используя pdb.Даже без pdb это дает результаты, но их трудно локализовать в коде.
Обратите внимание, что лучше всего использовать его в коде выпуска, что необычно для статических анализаторов.Это происходит из -за анализа IL:отладочный код загроможден и приводит к большему количеству ложных срабатываний.
Gendarme генерирует приятный отчет в формате HTML и может быть легко интегрирован в сервер непрерывной сборки, такой как cc.net.