Анализаторы c/c++ кода, сравнительный анализ

Всё что связано с программированием на С++
Ответить

Vant
c7i.team
Сообщения: 179
Зарегистрирован: Вс дек 05, 2010 4:22 am

Re: Анализаторы c/c++ кода, сравнительный анализ

Сообщение Vant » Пт мар 14, 2014 11:18 am

Изображение

Vant
c7i.team
Сообщения: 179
Зарегистрирован: Вс дек 05, 2010 4:22 am

Re: Анализаторы c/c++ кода, сравнительный анализ

Сообщение Vant » Пт мар 14, 2014 11:46 am

Из указанных анализаторов только Cppcheck бесплатный.
Скачал здесь: http://cppcheck.sourceforge.net/
Скормил ему сервер, судя по скорости, результаты будут к вечеру, но уже поймано с полдесятка конструкторов без инициализации полей класса.

...

Количество просканированных файлов: 246
Продолжительность сканирования: 17 часов и 50 минут

Diatlo
c7i.team
Сообщения: 251
Зарегистрирован: Пт ноя 06, 2009 6:04 am

Re: Анализаторы c/c++ кода, сравнительный анализ

Сообщение Diatlo » Пт апр 11, 2014 11:37 am

PVS-Studio можно месяц эксплуатировать (evalute), после требует обязательной регистрации.
На их сайте есть ключ на 5 дней, при котором работает проверка на 64-бит ошибки.

Запускал, время работы 25 минут:
ошибка одна
V004 Diagnostics from the 64-bit rule set are not entirely accurate without the appropriate 64-bit compiler. Consider utilizing 64-bit compiler if possible.

замечаний:
1 уровня 2026 (важные)
2 уровня 3109 (не очень важные)
3 уровня 3789 (совсем не важные)

, но много повторяющихся. Например,
снижение произволительности при вызовах константной процедуры Class->getSubclass()->.. подряд,
много сообщений про memsize type/ 32-bit type/вызове функций с аргументами memsize type
много сообщений про магические числа, особенно про 4, маски для AND =)

P.S. примеры расшифровки замечаний можно глянуть тут http://habrahabr.ru/company/pvs-studio/blog/97751/

Diatlo
c7i.team
Сообщения: 251
Зарегистрирован: Пт ноя 06, 2009 6:04 am

Re: Анализаторы c/c++ кода, сравнительный анализ

Сообщение Diatlo » Пн апр 14, 2014 3:37 pm

В MVS 2013 есть встроенный статический анализатор кода =)

http://blogs.msdn.com/b/hkamel/archive/ ... d-how.aspx

Vant
c7i.team
Сообщения: 179
Зарегистрирован: Вс дек 05, 2010 4:22 am

Re: Анализаторы c/c++ кода, сравнительный анализ

Сообщение Vant » Пн апр 14, 2014 6:35 pm

Кстати я пробовал в g++ врубить -std=c++11 -- сервер скомпилялся с легкостью. Так что если уж переползать на MVS 2013, то и последний стандарт врубать. Есть в нем пара-тройка полезностей новых.

Diatlo
c7i.team
Сообщения: 251
Зарегистрирован: Пт ноя 06, 2009 6:04 am

Re: Анализаторы c/c++ кода, сравнительный анализ

Сообщение Diatlo » Вт апр 15, 2014 1:38 pm

1) MVS можно настроить на компиляцию сторонним компилером - настроив режим компиляции g++ проверять,
а как в нем компилится =)

2) Если всякие "умные" "слабые" указатели - то можно решить проблему NULL указателей раз и навсегда =)

3) Вот как надо писать хелпы, по ссылке - для c++11 http://habrahabr.ru/company/infopulse/blog/210644/

4) Шпаргалка по c++11 http://j.mp/cpp11ref

Ответить