LINUX.ORG.RU

PVS-Studio для Linux

 , , ,


0

5

Появилась версия анализатора PVS-Studio, работающая в GNU/Linux. До этого программа работала только в Windows.

PVS-Studio — это инструмент для выявления ошибок в исходном коде программ, написанных на С и C++. В случае интеграции с Visual Studio также возможна проверка проектов на C#.

PVS-Studio выполняет широкий спектр проверок кода, но наиболее удачно справляется с поиском опечаток и последствий неудачного Copy-Paste. Показательные примеры таких ошибок: V501, V517, V522, V523, V3001.

Хочу поблагодарить всех, кто принял участие в Beta-тестировании и отправлял нам свои отзывы. Эти отзывы действительно были крайне полезны. Спасибо!

Пакеты PVS-Studio в форматах deb, rpm и tgz доступны для скачивания на официальном сайте.

Чтобы получить регистрационный ключ для знакомства с инструментом, напишите нам. Со временем процесс получения демонстрационной версии может измениться, но сейчас нам важно понимать, кто скачивает анализатор, как его используют, какие проблемы возникают и так далее.

Обязательно сразу же прочитайте краткую инструкцию «как запустить PVS-Studio в Linux».

В первое время после выхода версии для Linux отзывов и вопросов может быть слишком много. Поэтому если мы будем отвечать на вопросы с задержкой, просим понять и простить.

Доклад на конференции C++ CoreHard Autumn 2016 «Что пришлось тестировать и о чем узнать при подготовке Linux-версии PVS-Studio».

Про что доклад: большинство программистов плохо представляют, что означает создание PVS-Studio для Linux. Многие думают, что вся сложность заключается в портировании кода, однако это очень далеко от истины: портировать код очень просто, но это только 5% работы. Остальная работа скрыта от стороннего наблюдателя и состоит в решении многих инфраструктурных вопросов. Предлагаем заглянуть на кухню разработчиков анализатора PVS-Studio и узнать разные интересные нюансы их работы.

>>> Подробности

Ответ на: комментарий от anonymoos

Спасибо! Качественный и полезный продукт.

Ты им пользуешься?

kirk_johnson ★☆ ()
Ответ на: комментарий от kirk_johnson

А ты с какой целью интересуешься? Ответ: да.

anonymous ()
Ответ на: комментарий от buddhist

агрессивное ... продвижение сабжа на ЛОРе

Агрессия тут вся в твоей голове, чувак. Хотя с шуточками у них и правда так себе.

anonymous ()

plog-converter не собирается.

g++ -c -pipe -Wall -Wextra -Werror -std=c++14 -O2 -std=gnu++1y -Wall -W -fPIC  -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o application.o application.cpp
application.cpp: В функции-члене «void Application::setCmdOptions(int, const char**)»:
application.cpp:141:5: ошибка: could not convert «{"outputFile", Required, 'o', Single, <lambda closure object>Application::setCmdOptions(int, const char**)::<lambda(const char*)>{((Application*)this)}, "Output file"}» from «<brace-enclosed initializer list>» to «Utils::ProgramOption»
     };
     ^
samy_volosaty ★★★★★ ()

Интересно, как оно себя поведет, если код с ассемблерными вставками, и не под х86.

Интересно так же сравнение coverity и матлабовским PureSpace.

ncrmnt ★★★★★ ()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от anonymous

А ты с какой целью интересуешься? Ответ: да.

Я у чувака с пингвином спрашивал.

kirk_johnson ★☆ ()
Ответ на: комментарий от bookman900

В случае с лункусом, даже проприетарный софт большое достижение. Для линукса мало софта и проприетарного и бесплатного.

anonymous ()
Ответ на: комментарий от kirk_johnson

Ммм, вангую бурное обсуждение. Кстати, а откуда столько ненависти в адрес разработчиков сей программы?

Не всем нравится их стиль рекламы.

Нет просто продукт разработчика открывает поистине ужасающе низкий уровень нынешних хипсер-программистов.

anonymous ()
Ответ на: комментарий от Aceler

Судя по отчётам, в большинстве случаев действительно хватило бы редактора с линтом, потому что обнаруженные ошибки тривиальны. Вы можете привести пример ошибки, которую удалось обнаружить благодаря умным анализаторам этого продукта, и которую не нашёл бы современный компилятор?

env ★★☆ ()

Повторю свой вопрос: а чем вы лучше Coverity? Почему, к примеру, я должен на работе выкинуть Coverity и стремглав побежать покупать PVS Studio?

Pavval ★★★★★ ()
Ответ на: комментарий от anonymous

Поставьте CLion, его возможностей анализа плюсокода домашнему юзеру хватит за глаза.

env ★★☆ ()
Ответ на: комментарий от Pavval

Повторю свой вопрос: а чем вы лучше Coverity? Почему, к примеру, я должен на работе выкинуть Coverity и стремглав побежать покупать PVS Studio?

Его нельзя купить, а можно только арендовать. После чего оно в тыкву превращается. Сам использую Coverity, ни чем не хуже. В некоторых моментах даже лучше реагирует.

MuZHiK-2 ★★★★ ()

Сами жуйте вашу поделку, спасибо.

false ★★★★★ ()

Кстати! На opennet новость об этой поделке идет явно с пометкой «реклама», сразу видно что будут что-то впаривать, и это более точно отражает суть. Сколько раз я уже предлагал тут такое ввести - все против. Зато читать всю эту рекламную мишуру про проприетарщину и помогать им оболванить других - пожалуйста. Почему даже тега «реклама» нет? От этой поделки никакой пользы сообществу.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от karton1

Кстати, а откуда столько ненависти в адрес разработчиков сей программы?

Засрали мой лор рекламой типа: «У нас посылка продукт, но мы вам его не продадим.»

anonymous ()
Ответ на: комментарий от anonymous

Засрали мой лор рекламой типа: «У нас посылка продукт, но мы вам его не продадим.»

Мы готовы продавать. Напишите нам с корпоративной почты, и мы обсудим варианты лицензирования.

Andrey_Karpov_2009 ()
Ответ на: комментарий от MuZHiK-2

От этой поделки никакой пользы сообществу.

Эта «поделка» помогла выявить несколько тысяч ошибок в опенсорс-ПО. Что же твой хвалёный Coverity этого не сделал?

Sunderland93 ★★★★★ ()
Ответ на: комментарий от Andrey_Karpov_2009

Мы готовы продавать.

А разрабатывать не пробовали?

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от Sunderland93

Эта «поделка» помогла выявить несколько тысяч ошибок в опенсорс-ПО. Что же твой хвалёный Coverity этого не сделал?

Потому что через Coverity прогоняют раз в полгода, когда не лень.

kirk_johnson ★☆ ()

Здесь вам не тут!

anonymous ()
Ответ на: комментарий от anonymous

В ответе на твое сообщение еще и типичное для сабжа и характерное для российского бизнеса «мы вам цену не скажем, пишите/звоните, там договоримся»

buddhist ★★★★★ ()

демонстрационный ключ прикрепите к топику

anonymous ()
Ответ на: комментарий от Sunderland93

Что же твой хвалёный Coverity этого не сделал?

В тебе сразу видно зомбированного сабжем объекта. Coverity не занимается непонятной рекламой своего продукта - они просто работают, как для opensource бесплатно, так и платно с компаниями.

Ознакомься со списком проектов и объемом найденных ошибок:

https://scan.coverity.com/projects

Почти все серьезные проекты типа Qt его используют на постоянной основе и бесплатно. В отличие от.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от Andrey_Karpov_2009

Мы готовы продавать. Напишите нам с корпоративной почты, и мы обсудим варианты лицензирования.

Я хочу бабушке купить на день рождения. Можно?

anonymous ()

А может сообщество начнёт запиливать своё «pvs-studio»? Как думаете? Исходники на github, вся фигня.

anonymous ()
Ответ на: комментарий от kirk_johnson

Потому что через Coverity прогоняют раз в полгода, когда не лень.

У нормальных проектов хотя бы в неделю :) Там лимит на количество прогонов как раз на неделю идет.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от MuZHiK-2

У нормальных проектов хотя бы в неделю :) Там лимит на количество прогонов как раз на неделю идет.

Линуксовое ядро проверялось 9 дней назад.

kirk_johnson ★☆ ()
Ответ на: комментарий от kirk_johnson

Нормальность этого проекта не для всех очевидна. Конечно, надо сделать скидку на объем изменений, так как если правок не было или они по веткам еще раскиданы, то и проверять нечего.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от Reedych

clang и -Wall же.

Как раз пишу статью, про то, как PVS-Studio берёт и находит ошибки в Clang (в 3 раз кстати, см предыдущие здесь). Специализированные анализаторы всегда будут лучше, чем компиляторы. Именно на этом они и зарабатывают свои деньги.

Andrey_Karpov_2009 ()
Ответ на: комментарий от anonymous

Да болт они клали и на тебя, и на твою бабку. Я хз, зачем они вообще морочились линухом и кто вообще вступает в рабство покупает сие поделие

false ★★★★★ ()
Ответ на: комментарий от anonymous

А может сообщество начнёт запиливать своё «pvs-studio»? Как думаете? Исходники на github, вся фигня.

Уже есть. См. проект Cppcheck.

Andrey_Karpov_2009 ()
Ответ на: комментарий от kirk_johnson

Дело не в занудстве даже. Обрати внимание, что этот пузатик впаривает в каком-то подвале (подвальном ангаре) 20 человекам эту дичь, причем половина из низ какие-то голодные студенты, которым даже ключ от сабжа подержать не дадут. Некоторые под конец еле сидят уже, больше похоже на какую-то дешевую массовку, сэкономили деньги на постановке.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от Andrey_Karpov_2009

Cppcheck

Это где правила регулярками задаются? Даа, сурьезный проект...

А вспоминать тут надо clang static analyzer, infer, frama-c.

anonymous ()
Ответ на: комментарий от karton1

Кстати, а откуда столько ненависти в адрес разработчиков сей программы?

Мы готовы продавать. Напишите нам с корпоративной почты, и мы обсудим варианты лицензирования.

Вот об этой ереси речь. Хотят работать с корпоративными клиентами - имеют право, чо. Только мне эта реклама абсолютно бесполезна, но висит, собака, на главной.

anonymous ()
Ответ на: комментарий от env

Судя по отчётам, в большинстве случаев действительно хватило бы редактора с линтом, потому что обнаруженные ошибки тривиальны. Вы можете привести пример ошибки, которую удалось обнаружить благодаря умным анализаторам этого продукта, и которую не нашёл бы современный компилятор?

В PVS-Studio хорошие умные диагностики. Мы демонстрируем тысячи ошибок в таких проектах как LLVM, Qt, Chromium, GCC, GDB, MSBuild и так далее. Откуда они, если всё так просто и достаточно линта?

Andrey_Karpov_2009 ()
Ответ на: комментарий от samy_volosaty

ключ для знакомства на какое время будет день? два?

Сейчас для знакомства мы выдаём ключ на 1 неделю.

Andrey_Karpov_2009 ()
Ответ на: комментарий от anonymous

Что-то они в этом году на хромую утку не дают годовой халявной лицензии, как была два прошлых раза на хромых уток. Может им цвет хромой утки не нравится?

ergil ★★★ ()
Ответ на: комментарий от ncrmnt

Интересно, как оно себя поведет, если код с ассемблерными вставками, и не под х86.

Сами ассемблерные вставки игнорируются. Плюс некоторые диагностики учитывают наличие ассемблерных вставок рядом с выявленным опасным кодом и молчат, так как непонятно, что и как там внутри делается. Это сокращает число ложных срабатываний.

Andrey_Karpov_2009 ()
Ответ на: комментарий от Andrey_Karpov_2009

выдайте общедоступный ключ на одну неделю в топике, нечего барыжить, кому надо купить те пусть и получают персональные ключи через имеил контакт

anonymous ()
Ответ на: комментарий от utf8nowhere

Просто надо писать анализатор на стандартном C++, тогда никаких «Windows-версий» или «Linux-версий» не будет.

Розовые миры и фантазии. :) От части эта тема раскрывается здесь - https://youtu.be/auHdiSIhG3g Доклад интересный (честно), рекомендую посмотреть.

Andrey_Karpov_2009 ()
Ответ на: комментарий от buddhist

Вот этой своей дивной позицией, что они не хотят говорить цену очень раздражают. Понятно почему и зачем это, привычка от участия в распилах бюджетных средств, когда цена не называется, ибо устанавливается исходя из того сколько можно украсть/распилить, но в случае с данным продуктом раздражает, так же, как их «напишите нам с корпоративного e-mail».

ergil ★★★ ()
Ответ на: комментарий от anonymous

Видимо эти совковые барыги боятся, что ты накатишь это на виртуалку и через неделю снапшот восстановишь.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от tailgunner

Все эти детали содержатся в ролике на Ютубе, в котором человек рассказывает, что статические анализаторы спасают от позора?

На самом деле, это интересный доклад. Рекомендую.

Andrey_Karpov_2009 ()
Ответ на: комментарий от MuZHiK-2

тоже самое можно будет сделать и с персональным ключем выданным на имеил

anonymous ()
Ответ на: комментарий от dekar

А можно ли использовать данный анализатор для поиска ошибок в коде для микроконтроллеров?

Можно. Пробуйте. Если что-то не будет получаться, пишите, поможем и подскажем.

Andrey_Karpov_2009 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.