Здравствуйте, menify, Вы писали:
M>Немного странная просьба.
M>Мы занимаемся исследованием различных инструментов по статической проверке кода (C/C++) — QAC/C++, PC-lint, CodeWizard, CodeCheck и т.д.
M>Что-то типа этого.
интересно было бы взглянуть на твои результаты тестирования этих программ...
... << RSDN@Home 1.0 beta 6 >>
06.05.03 12:14: Перенесено модератором из 'C/C++' — ПК
Здравствуйте, Plague:
M>Мы занимаемся исследованием различных инструментов по статической проверке кода (C/C++) — QAC/C++, PC-lint, CodeWizard, CodeCheck и т.д.
P>интересно было бы взглянуть на твои результаты тестирования этих программ...
Официальный документ предоставить пока не могу — Internal Use Only
Но по русски сказать можно.
Пока еще официально протестированны 1.5
программы (
Logiscope RuleChecker и не полностью QAC/C++).
Первое явно не рассчитано на реальную работу, а второй внолне на уровне.
Но мое ИМХО — PC-lint рулит
, как по качеству проверки, так и по цене (240$ против 5000$ QAC++)
Но он проверяет только логические ошибки.
Для проверки стандартов кодирования (стиль оформления кода, метрики, комментарии) — рулит CodeCheck.
Хотя для метрик, лучше подойдет
RSM.
Итого, чтобы полностью покрыть статический анализ нужно три инструмента: PC-lint, CodeCheck и RSM (на мой взгляд лучшие). Сумарная стоимость: 240$ + 1000$ + 200$ = 1440$, что на много выгоднее чем покупать QAC++(5000$) или пакет Logiscope (10000$).
Когда будет завершено исследование, могу выложить табличку с оценками всех тулов.
P.S. Боюсь, что после этого поста модераторы перенесут эту тему в "Средства разработки", что в принципе справедливо
Здравствуйте, menify, Вы писали:
M>Здравствуйте, Plague:
M>>Мы занимаемся исследованием различных инструментов по статической проверке кода
...
P>>интересно было бы взглянуть на твои результаты тестирования этих программ...
M>Официальный документ предоставить пока не могу — Internal Use Only
...
M>Итого, чтобы полностью покрыть статический анализ нужно три инструмента: PC-lint, CodeCheck и RSM (на мой взгляд лучшие). Сумарная стоимость: 240$ + 1000$ + 200$ = 1440$, что на много выгоднее чем покупать QAC++(5000$) или пакет Logiscope (10000$).
M>Когда будет завершено исследование, могу выложить табличку с оценками всех тулов.
Рискну поднять древнюю тему, просто именно сейчас занялся поисками средств статического анализа кода. Хотелось бы узнать, есть ли что-то лучшее чем PC-lint и не появилось ли open-source аналогов для функциональности lint, то есть поиск неявных ошибок. Интересует С++. Есть ли у кого-то положительный опыт использования PC-lint? Что можете сказать о продукте C++test фирмы Parasoft?
Конкретно, может кто решал такую задачу, поделитесь опытом -- надо проиндицировать все неявные приведения типов в программе. Например во фрагменте:
#define CONST1 736u
#define CONST2 764u
unsigned long long f(unsigned long long) {
unsigned bbb = CONST1;
return (bbb);
}
unsigned int main() {
unsigned a = CONST2;
unsigned long long b = 0;
b = a;
f(a);
return (0);
}
хотелось бы видеть варнинги на следующие строчки:
1) "b = a;"
2) "f(a);"
3) "return (bbb);"
поскольку в них происходят неявные преобразования типов.
Вопрос: можно ли такое устроить с помощью PC-lint?