Для изучения статических анализаторов кода и приобретения практических навыков их использования, команда PVS-Studio предлагает бесплатно воспользоваться своим анализатором.
Есть три способа бесплатного использования PVS-Studio в учебных целях:
1. Добавление специальных комментариев в код;
2. Использование сайта Compiler Explorer;
3. Бесплатная версия для открытых проектов.
Ни один из этих способов не требует запроса триального ключа. Вы просто скачиваете дистрибутив и следуете дальнейшим инструкциям.
О том, когда удобен тот или иной способ и как им воспользоваться, можно прочитать здесь.
Здравствуйте, jul_nevermind, Вы писали:
_>3. Бесплатная версия для открытых проектов.
Было бы, на самом деле, очень удобно, если бы открытые проекты можно было проверить с помощью веб-сервиса, без необходимости устанавливать PVS-Studio локально: идешь на определенный веб-сайт, указываешь ссылку на проект на гитхабе, нажимаешь кнопку "проверить" и сразу получаешь результат. Ну и чтобы можно было ссылку на картиночку получить, которую можно разместить в README.md своего проекта (типа "проверено PVS-Studio"). Скажем, аналогично тому, как устроен https://goreportcard.com/ для Go.
Еще мне кажется, для открытых проектов есть смысл убрать предупреждение про copyleft license в файле, она там ожидаема и лишнее предупреждение немного раздражает.
И еще такой момент. Некоторое количество предупреждений лезет из системных хидеров, и к моей программе отношения не имеет (видимо, авторы системных хидеров не пользуются PVS-Studio). Эти предупреждения отвлекают от содержательных предупреждений, нельзя ли их как-то задавить?
А в остальном, спасибо за полезный продукт, и всяческой вам удачи!
Re: Бесплатное использование статического анализатора студентами и преподавателя
Здравствуйте, jul_nevermind, Вы писали:
_>Для изучения статических анализаторов кода и приобретения практических навыков их использования, команда PVS-Studio предлагает бесплатно воспользоваться своим анализатором.
Товарищи, а подскажите плз, какие стандарты/фичи языка поддерживает анализатор? Есть какая ибудь табличка типа такой?
Re[2]: Бесплатное использование статического анализатора студентами и преподават
Здравствуйте, vopl, Вы писали:
V>Здравствуйте, jul_nevermind, Вы писали:
_>>Для изучения статических анализаторов кода и приобретения практических навыков их использования, команда PVS-Studio предлагает бесплатно воспользоваться своим анализатором.
V>Товарищи, а подскажите плз, какие стандарты/фичи языка поддерживает анализатор? Есть какая ибудь табличка типа такой?
Такой таблички нет. Но мы стараемся оперативно поддержать всё, что появляется в релизных версиях компиляторов. Да, есть некоторое отставание, но оно некритично. Ведь и в проектах тоже не сразу начинают использовать самые последние фичи языка. Если хочется конкретно проверить, осилили мы некую конструкцию или нет, можно воспользоваться тем же godbolt.
Re[2]: Бесплатное использование статического анализатора сту
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, jul_nevermind, Вы писали:
_>>3. Бесплатная версия для открытых проектов.
Pzz>Было бы, на самом деле, очень удобно, если бы открытые проекты можно было проверить с помощью веб-сервиса, без необходимости устанавливать PVS-Studio локально: идешь на определенный веб-сайт, указываешь ссылку на проект на гитхабе, нажимаешь кнопку "проверить" и сразу получаешь результат. Ну и чтобы можно было ссылку на картиночку получить, которую можно разместить в README.md своего проекта (типа "проверено PVS-Studio"). Скажем, аналогично тому, как устроен https://goreportcard.com/ для Go.
Pzz>Еще мне кажется, для открытых проектов есть смысл убрать предупреждение про copyleft license в файле, она там ожидаема и лишнее предупреждение немного раздражает.
Pzz>И еще такой момент. Некоторое количество предупреждений лезет из системных хидеров, и к моей программе отношения не имеет (видимо, авторы системных хидеров не пользуются PVS-Studio). Эти предупреждения отвлекают от содержательных предупреждений, нельзя ли их как-то задавить?
Pzz>А в остальном, спасибо за полезный продукт, и всяческой вам удачи!
Спасибо за предложение! В данный момент мы пока такой вариант не рассматривали. Да, мы предоставляем несколько вариантов бесплатного использования анализатора. Сейчас, в первую очередь, мы сосредоточены на развитии тех аспектов, про которые говорят наши клиенты . Из последних таких примеров — возможность запуска PVS-Studio C# на Linux.
Pzz>И еще такой момент. Некоторое количество предупреждений лезет из системных хидеров, и к моей программе отношения не имеет (видимо, авторы системных хидеров не пользуются PVS-Studio). Эти предупреждения отвлекают от содержательных предупреждений, нельзя ли их как-то задавить?
Можно исключать папки из анализа, смотрите документацию.
Здравствуйте, jul_nevermind, Вы писали:
_>Спасибо за предложение! В данный момент мы пока такой вариант не рассматривали. Да, мы предоставляем несколько вариантов бесплатного использования анализатора. Сейчас, в первую очередь, мы сосредоточены на развитии тех аспектов, про которые говорят наши клиенты . Из последних таких примеров — возможность запуска PVS-Studio C# на Linux.
Это вот такой бизнес по-русски, бессмысленный и беспощадный.
Любой, кто пользуеся вашим софтварием на законных основаниях — ваш клиент. Не только те, кто вам платит, но и те, кто приняли вашу оферту об усливиях бесплатного использования. Ваше отношение, что одни — клиенты, а другие — халявщики, оно в корне не правильное.
Я тоже ваш клиент, я пользуюсь вашим софтварием на вполне законных основаниях. Так что примите, пожалуйста, к сведению мой клиентский запрос
Pzz>>И еще такой момент. Некоторое количество предупреждений лезет из системных хидеров, и к моей программе отношения не имеет (видимо, авторы системных хидеров не пользуются PVS-Studio). Эти предупреждения отвлекают от содержательных предупреждений, нельзя ли их как-то задавить?
_>Можно исключать папки из анализа. Смотрите документацию.
Если предупреждение лезет из макроса, описанного в системном хидере, но лезет оно по месту вызова, в моем коде, исключение /usr/include из анализа поможет?
Re[4]: Бесплатное использование статического анализатора сту
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, jul_nevermind, Вы писали:
_>>Спасибо за предложение! В данный момент мы пока такой вариант не рассматривали. Да, мы предоставляем несколько вариантов бесплатного использования анализатора. Сейчас, в первую очередь, мы сосредоточены на развитии тех аспектов, про которые говорят наши клиенты . Из последних таких примеров — возможность запуска PVS-Studio C# на Linux.
Pzz>Это вот такой бизнес по-русски, бессмысленный и беспощадный.
Pzz>Любой, кто пользуеся вашим софтварием на законных основаниях — ваш клиент. Не только те, кто вам платит, но и те, кто приняли вашу оферту об усливиях бесплатного использования. Ваше отношение, что одни — клиенты, а другие — халявщики, оно в корне не правильное.
Pzz>Я тоже ваш клиент, я пользуюсь вашим софтварием на вполне законных основаниях. Так что примите, пожалуйста, к сведению мой клиентский запрос
Pzz>>>И еще такой момент. Некоторое количество предупреждений лезет из системных хидеров, и к моей программе отношения не имеет (видимо, авторы системных хидеров не пользуются PVS-Studio). Эти предупреждения отвлекают от содержательных предупреждений, нельзя ли их как-то задавить?
_>>Можно исключать папки из анализа. Смотрите документацию.
Pzz>Если предупреждение лезет из макроса, описанного в системном хидере, но лезет оно по месту вызова, в моем коде, исключение /usr/include из анализа поможет?
Понимаем вашу точку зрения, но чтобы и дальше делать качественный продукт,в том числе и предоставлять бесплатную версию, нам нужны программисты, которым нужно оплачивать работу и обеспечивать комфортный офис.
Pzz>>>И еще такой момент. Некоторое количество предупреждений лезет из системных хидеров, и к моей программе отношения не имеет (видимо, авторы системных хидеров не пользуются PVS-Studio). Эти предупреждения отвлекают от содержательных предупреждений, нельзя ли их как-то задавить?
Следует использовать механизм подавления предупреждений в макросах — https://www.viva64.com/ru/m/0017/ (см. разделы "Подавление ложных предупреждений в С/С++ макросах (#define) и для других фрагментов кода" и "Подавление ложных предупреждений с помощью файлов конфигурации диагностик (.pvsconfig)").
Re[5]: Бесплатное использование статического анализатора сту
Здравствуйте, jul_nevermind, Вы писали:
_>Понимаем вашу точку зрения, но чтобы и дальше делать качественный продукт,в том числе и предоставлять бесплатную версию, нам нужны программисты, которым нужно оплачивать работу и обеспечивать комфортный офис.
Я полагаю, бесплатную версию вы предоставляете не по причине присущей вам природной доброты (в наличии которой я нисколько не сомневаюсь), а в рассчете увеличить количество платных клиентов путем привлечения к себе внимания, формирования благоприятной репутации и т.д. и т.п.
Поэтому вы вполне материально заинтересованы в улучшении качества бесплатно предоставляемых услуг.
То, что ваши ресурсы ограниченны и вам приходится расставлять приоритеты, я прекрасно понимаю.
_>Следует использовать механизм подавления предупреждений в макросах — https://www.viva64.com/ru/m/0017/ (см. разделы "Подавление ложных предупреждений в С/С++ макросах (#define) и для других фрагментов кода" и "Подавление ложных предупреждений с помощью файлов конфигурации диагностик (.pvsconfig)").
Я хочу сказать, что ваш анализатор мог бы и сам догадаться. Или он полагается в раскрытии макросов на внешний препроцессор, и на этапе анализа кода уже не знает, откуда этот код пришел?
Re[6]: Бесплатное использование статического анализатора сту
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, jul_nevermind, Вы писали:
_>>Понимаем вашу точку зрения, но чтобы и дальше делать качественный продукт,в том числе и предоставлять бесплатную версию, нам нужны программисты, которым нужно оплачивать работу и обеспечивать комфортный офис.
Pzz>Я полагаю, бесплатную версию вы предоставляете не по причине присущей вам природной доброты (в наличии которой я нисколько не сомневаюсь), а в рассчете увеличить количество платных клиентов путем привлечения к себе внимания, формирования благоприятной репутации и т.д. и т.п.
Pzz>Поэтому вы вполне материально заинтересованы в улучшении качества бесплатно предоставляемых услуг.
Pzz>То, что ваши ресурсы ограниченны и вам приходится расставлять приоритеты, я прекрасно понимаю.
_>>Следует использовать механизм подавления предупреждений в макросах — https://www.viva64.com/ru/m/0017/ (см. разделы "Подавление ложных предупреждений в С/С++ макросах (#define) и для других фрагментов кода" и "Подавление ложных предупреждений с помощью файлов конфигурации диагностик (.pvsconfig)").
Pzz>Я хочу сказать, что ваш анализатор мог бы и сам догадаться. Или он полагается в раскрытии макросов на внешний препроцессор, и на этапе анализа кода уже не знает, откуда этот код пришел?
Мы используем внешний препроцессор, и информация потеряна. Впрочем, даже если понимать, это всё равно не сильно поможет, так как часто нет информации в самом макросе. И логично ругаться всё равно на место его использования.