LINUX.ORG.RU

Можно попробовать плагин PVS-Studio для CLion

 , , ,


0

2

PVS-Studio - это инструмент поиска ошибок в коде программ на языках C, C++, C#, Java. Начав свой путь с Windows систем, анализатор пришёл в мир Linux и macOS. Но до настоящего момента он всё-таки был не до конца адаптирован к этим экосистемах.

Не хватало сценариев интерактивной работы с анализатором: просто проверяешь код и сразу работаешь с отчётом, фильтруешь его и так далее. Конечно, можно интегрировать PVS-Studio, например, с SonarQube, но это всё равно не то.

Теперь ситуация изменилась. Вначале появился плагин PVS-Studio для Rider. Если кто-то из C# разработчиков пропустил это событие, то сейчас хороший момент сразу скачать плагин, чтобы потом не забыть попробовать проверить свои проекты :).

Следующий шаг нашей команды - первая бета-версия плагина PVS-Studio для CLion. Приглашаем всех желающих попробовать этот новый плагин. Ещё раз подчёркиваю, что это именно beta версия. Так что с большой вероятностью что-то может пойти не так :). Мы будем благодарны фидбеку и сообщениям о замеченных ошибках и недоработках (форма обратной связи).

Чтобы получить пробный ключ для анализатора, посетите страницу «Доступ к ранним версиям PVS-Studio». А здесь подробности про установку и прочее.

Попробуйте. Надеюсь, вам понравится оперативно находить баги.

Дополнительные ссылки:

  1. Более подробно. Beta-тестирование плагина PVS-Studio для JetBrains CLion.
  2. Документация. Работа PVS-Studio в JetBrains Rider и CLion.
  3. Напоминаем, что существуют бесплатные варианты лицензирования PVS-Studio.

Проприетарщикам и спамерам тут не подают.

slovazap ★★★★★
()

Особенно радуют метки «jetbrains» и «clion».

Кажется, это называется «кликбейт».

Bass ★★★★★
()

Хороший продукт и пиарить не нужно, особенно так активно.

Надеюсь, вам понравится оперативно находить баги.

Надеюсь, вам понравится опять уйти в бан на ЛОРе.

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

Их хейтят за агрессивный пиар своего продукта. Андрея Карпова банили на ЛОРе уже несколько раз за однообразные рекламные посты о pvs студии вида: «я прогнал анализатор на исходниках гимпа и обнаружил 100500 опечаток и копипаст, покупайте наш продукт!». Если есть желание, можно почитать эти «увлекательные» статьи на хабре, там их полно.

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

А за что их так хейтят? Только из-за проприетарного не нужно(ведь есть clang)?

Как минимум за конские цены и презрительное отношение к индивидуальным разработчикам. Многие готовы платить за хороший продукт даже на регулярной основе, но им безразличны такие как я. Они здесь пытаются привлечь внимание сотрудников разных компаний, по сути это такая форма самопиара.

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

Некоторые из присутствующих просто хейтят категориями, без разбора.

Но и ТС тоже раньше отличался не самым адекватным поведением. Раньше, например, он активно пиарился на форуме, хотя их продукт невозможно было лицензировать физлицу. На вопросы, мол, а как вообще и зачем оно тогда тут, ТС отписывался всякой мерзотчинкой.

Потом всё-таки ТС добавил не просто лицензии для частников, а даже бесплатные. Но для использования нужно вежливо поклянчить в каждом файле исходника. Не самое приятное занятие. Выглядело, как издёвка.

Не знаю, за что хейтят теперь, ведь подход ТС поменял. Видимо, по привычке уже.

i-rinat ★★★★★
()

Вирусологи, отвлекитесь и срочно сюда! Тут без вашего участия не обойтись.

pinus_nigra
()

Лучший анализатор. В моём проекте на 150 KCLOC цпп не нашёл ничего кроме мусорных предупреждений. Я горд собой.

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

Если есть желание, можно почитать эти «увлекательные» статьи на хабре

Нет, их нужно читать на ЛОРе, где после каждой такой статьи в комментах следует шикарная коллективная истерика.

pinus_nigra
()
Ответ на: комментарий от i-rinat

Но и ТС тоже раньше отличался не самым адекватным поведением

У них там ещё и версии для линукса какое-то время не было, а он уже тут пиарился.

Не знаю, за что хейтят теперь, ведь подход ТС поменял.

Он-то может и поменял, но осадочек-то остался.

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

их нужно читать на ЛОРе,

Да ну, ещё всякое говно в удалённых искать.

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

Наконец-то можно попробовать ненужно для ненужно! Каеф!

Сейчас арбуз свежий и вкусный ем.
Вот это действительно - НУЖНО!

anonymous
()

Не пользуюсь CLion, но удачи проекту

fsb4000 ★★★★★
()

Ещё раз подчёркиваю, что это именно beta версия. Так что с большой вероятностью что-то может пойти не так :)

Попробуйте. Надеюсь, вам понравится оперативно находить баги.

Наймите тестировщиков уже.

filosofia
()

Нашли пяток false positive на проекте. От бага с инициализацией мембера-массива через range for горит больше всего. Дислайк, ожидал больше анализа и меньше багов.

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

Если есть желание, можно почитать эти «увлекательные» статьи на хабре, там их полно.

И эти статьи оставляют после себя очень странное и неоднозначное впечатление. «Ошибками» называют некоторые стили программирования, к которым привыкли некоторые люди, а вот авторы сего продукта выдают за «ошибки» почему-то. Не понимать.

Variable shadowing - это такой стиль, чтобы не плодить сущности. Очень распространенный в языке F#, например. В растишке, полагаю, тоже часто используют.

«Неиспользуемые и невлияющие на исполнение кода инструкции» - это тоже имеет значение, скажем, как заметка на полях к коду. Там было что-то нетривиальное, и решили себе пометку оставить например. Или там часть формулы до сокращения - математики часто так пишут, и меня учили так делать. Тысяча причин может быть!

Другой вариант - код правили, и чтобы уменьшить размер коммита в git, решили просто сделать ход конем и чуток подкорректировать код, чтобы не перелопачивать кучу кода, который «уже работает». Но зачем это называть «ошибкой»?

Еще что-то было, но уже не упомню. Если убрать такие «ошибки», то порою от статей ничего не оставалось бы содержательного.

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

anonymous
()

За 5 лет, что мы используем пивас, приходиться добавлять исключения только. Не помню, если честно, чтоб он что-то реально нашел. Хотя полно легаси говна с приветом из 90х даже. У кого-нить есть вообще истории, когда он прям «УУХ! как помог!»?

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

Был уверен, что сабж есть в оффтопик-листе. Оказалось, что нет. А надо бы добавить.

А на каких основаниях? У нас даже в новостях есть раздел «Проприетарное ПО».

Сходил по ссылке подробностей про установку. Там среди прочего есть пункты:

  • Для debian-based систем:
  • Для yum-based систем:
  • Для zypper-based систем:

То есть поддержка разных линуксов заявлена официально.

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

А «За былые заслуги». Но если автор перестал быть агрессивным спамером, то ничего против новостей в уместном формате не имею.

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

Вот пока одни люди кривляются от анализаторов для C++, другие довольно ухмыляются и продвигают Rust. Я бы предпочёл, чтобы пользовались анализаторами.

Не то, чтобы я ненавистник Rust, но на волне его хайпа уже многие начинают переписывать на нём то, что на C и C++ просто работало. А это очень уныло. Могли бы потратить время на добавление функциональности в уже работающие программы и библиотеки. Или (внезапно) на прогон в анализаторах и исправление обнаруженных ошибок.

По сабжу — мне один человек присылал репорт по моему проекту (открытому) в пивас-студии. Таки да, обнаружилась пара не очень хороших мест, которые Coverity Scan, прикрученный к гитхабу, пропустил. Не то, чтобы совсем караул, но грозило неприятностями при последующем расширении программы. Так что польза, вроде, есть.

P.S. Всем, кому не нравится деятельность ТСа, предлагаю вкладываться своим кодом в развитие cppcheck (там работы до догонянию проприетарных аналогов вагон и маленькая тележка), ну или в clang-овские утилиты. Баны на ЛОРе — не метод.

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

Таки да, в прошлом он был склонен к троллингу (как иначе назвать рекламу на ЛОРе книжки, где советуют не использовать кроссплатформенные библиотеки, если этого явно не требует начальник/заказчик). Но сейчас (после нескольких банов) такого, вроде, нет.

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

За 5 лет, что мы используем пивас…

Ну и мы, конечно, сразу поверили анониму, что «они 5 лет используют пивас» :)

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

«Неиспользуемые и невлияющие на исполнение кода инструкции» - это тоже имеет значение, скажем, как заметка на полях к коду. Там было что-то нетривиальное, и решили себе пометку оставить например. Или там часть формулы до сокращения - математики часто так пишут, и меня учили так делать. Тысяча причин может быть!

Киньте ссылок, интересно, что он там нашел.

wandrien ★★
()

это инструмент поиска ошибок в коде программ на языках C, C++, C#, Java.

rust и go не собираетесь поддерживать?

anonymous
()

А кто-нибудь уже прогонял слитые исходники винды?

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

А это очень уныло.

Корпеть над анализаторами еще более уныло, особенно если код на старых версиях С++.

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

Недавно попросил лицензию для своего open-source проекта, выдали сразу без волокит.

Нашёл несколько серъёзных ошибок (некоторые появились из-за рефакторингов) и много предупреждений.

Неприятные ложные срабатывания:

1) "V773 The 'm_sqliteDb' pointer was not released in destructor. A memory leak is possible."
Хотя в деструкторе стоит "delete sqliteDb();" и в .h файле: "SqliteDb *sqliteDb() const { return m_sqliteDb; }".

2) "V779 Unreachable code detected. It is possible that an error is present."
Использовался метод с именем "SomeClass::abort()", но PVS считает что "std::abort()".
tnodir
()
6 апреля 2023 г.
Ответ на: комментарий от t184256

14 дней — нихрена не разумно, особенно для ответов в тех.разделах.

Хотя, наверное, всё ок тогда.

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

Где, на каком ресурсе, ты видел эти «разумные» 14 дней?

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

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

Нигде, как нигде и не видел трекера, который этой некромантии потворствовал бы. Везде мертвые темы оставались в глубине. А вот на трекероцентричном ЛОРе некромантию нужно убивать в зародыше.

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

некромантии

мертвые темы

Ты можешь не лепить ярлыки, а говорить техническими категориями? Технически «некропостинг» сводится к двум вопросам:

  1. закрывается ли на форуме тема для комментирования через какое-то время, и если да, то через какое?
  2. как сортируются темы в форумах — по дате первого сообщения, или по дате последнего?

Я вот для примера взял pingvinus.ru, откомментировал тему двухлетней давности. Комментарий благополучно вставлен в тему, тема переместилась в верх раздела. То есть нормальный форумный подход. И на unixforum.org то же самое, ЕМНИП. Т.о. аргумент про «нигде» уже несостоятелен.

Ещё раз — где, на каких ресурсах ты эти 14 дней видел? Ну или хотя бы месяц? ЛОР в этом плане скорее, исключение, причём как на мой взгляд — не в лучшую сторону.

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

Я лично нигде не видел тем, перемедающихся вверх по малейшей активности.

Некрухой называю появление в теме ответов от тех, кто на дату не глянул и давай отвечать на тему, где половина юзеров уже забыла о такой, а вторая ещё и забанена. Это все вред и чума. Если хотите трекер и чтобы не было этого — нужен либо варнинг при ответе в тему с молчанием, длиннее характерной длины отпуска, либо закрытие темы. Если хотите ад и израиль, как сейчас, ничего менять не надо.

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

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

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

Вынеси тему на голосование. Предложение не закрывать темы в техразделах. В толксах можно оставить.

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