Как стать автором
Обновить

Комментарии 29

Вопрос немного не по теме статьи, но все же.

Какой парсер («парсер» в смысле Computer Science парсеров) используется в PVS-Studio? Все тот же LL(k) с бэктрекингом, что в оригинальном OpenC++?
Гм… Какой… Какой был в OpenC++, такой и используем. :) Кажется, рукописный. По коду видно, что кое-что было сгенерировано, но потом сильно переделывалось вручную. Почему OpenC++? На тот момент нам показалось это лучшее что было бесплатное, нормально собираемое и работающее под Windows. Про Clang тогда никто ничего не знал.
Ага, значит, родной рукописный LL(k), спасибо :)

Я не спрашиваю, кстати, почему не Clang, Clang вообще отношению к этому не имеет. Это большой компилятор для плюсов с традиционным для плюсов хаками и костылями внутри. И не знаю, честно говоря, почему народ так массово этим интересуется. Buzzwords такие buzzwords…
Для Rust планируете делать анализатор?
НЛО прилетело и опубликовало эту надпись здесь
Давайте, всё-таки, не придумывать ответы за представителей PVS-Studio.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Всё правильно.
На сколько адекватно анализатор справляется с кодом в котором есть qt (там всякие сигналы/слоты) оссобености?
Если подсунуть окончательный препроцессированный файл, то нормально справится. А так — никак. Если есть коммерческий проект и такая задача, можно пообщаться в почте.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Откройте, пожалуйста, последний спойлер в статье и кликните по ссылочке.
А минусуют потому что к каждой статье про анализ open source проектов задают одни и те же вопросы.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Тем не менее было бы интересно каким образом, куда сообщили и какой ответ получили.
Видимо за то, что вы не читаете статью.
НЛО прилетело и опубликовало эту надпись здесь
Пока не отправили (автор статьи пока занят и отошёл из офиса). Но отправит. Всегда стараемся уведомить о найденных дефектах.
Спасибо за очередную проверку отличного проекта!
Отправлял несколько патчей в KDE, надеюсь анализатором заинтересуются. К слову, у них есть свой простенький анализатор, по возможностям ближе даже к style checker: krazy (онлайн-отчёты здесь). CppCheck находит больше ошибок, но ему, конечно, не сравниться с вашим продуктом. Прогнал сейчас на KDE Pim Libraries, нашлись только ошибки с приоритетом операций и неправильной работа с realloc() (обычно проверка на NULL и сравнение unsigned с отрицательным числом тоже находится, но здесь ему чего-то не хватило, чтобы их увидеть).
KDE (сокращение от K Desktop Environment)

Пользователь reddit /u/iamtheLINAX намекает, что после ребрэндинга это представление несколько устарело:

After the repositioning, the name KDE no longer stands for K Desktop Environment, as it now acts as an umbrella brand for software produced by the community. What would have been previously known as KDE 4 will now be referred as «KDE Software Compilation 4» (abbreviated «KDE SC 4»). Regardless, many users still refer to it as KDE 4. With the releases of Frameworks 5 and Plasma 5, the term «Software Compilation» is again retired, in favor of the names of each specific product the KDE community produces.

en.wikipedia.org/wiki/KDE#Brand_repositioning

Вольный перевод:
После ребрэндинга, название KDE более не означает «K Desktop Environment», поскольку отныне является брэндом, объединяющим программное обеспечение, разрабатываемое сообществом. То, что ранее называлось KDE 4, с тех пор называют «KDE Software Compilation 4» (аббревиатура «KDE SC 4»). Многие пользователи всё ещё называют этот продукт именем KDE 4. С выходом Frameworks 5 и Plasma 5 устареет и термин «Software Compilation», в угоду именам отдельных продуктов, производимых сообществом KDE.


Использую тайловый awesome. Как то собрался с духом и решил попробовать KDE тем более что там вроде как есть тайловый режим.
Первое впечатление — красота. Минут через 15 полное разочарование. У виджетов какие-то мелкие кнопочки кругом — мишура одна. Поменял тему, из стандартной поставки, все разлезлось. Потом плазма упала (да да именно так).
И тут я понял. Все что есть хорошего в KDE это заслуга Qt. Все эти красявости, прозрачности, быстрая работа и спец эффекты — это все Qt. KDE же написан отвратно. Плохая идеалогия интерфейса засвляет делять кучи ненужных кликов. Сбоящие тулзы и плагины и т.д. и т.п. Вот так вот взяв замечательный тулкит, не означает что у программиста руки УЖЕ растут правильно.
предлагаю Вам почти универсальный совет по выбору проектов для проверки

1 взять список всех файлов из distfiles.gentoo.org/distfiles/ (не открывать!)
2 оставить только последние версии пакетов
3 отсортировать по размеру вниз
4 принять jj равно 1
5 взять jj-й елемент из списка
6 посмотреть соотвествует ли он следующим условиям
6.1 написан на С/С++
6.2 нужно ли вашей компании его протестировать (еще раз)?
7 увеличить значение jj на 1
8 перейти к номеру 5
Я тут переваривал Вашу статью, смотрел OpenC++ и другие парсеры, способные пережевать С++; разбирал работы и тезисы по статическим анализаторам. Конкретно парсеры — что-то вроде моего давнего хобби, что может быть понятно из вопроса выше. Как бы то ни было, Вас действительно часто упоминают специалисты в контексте сравнения с Coverity.

Понимаю, что это старый и скучный вопрос. Однако, хочу вам представить одно давнее мое наблюдение: в России и близлежащих странах разработчики гораздо чаще пользуются Windows в работе в силу исторических причин. Здесь и первые программы писали в Студии еще шестой, и в университетах стояли еще пиратские версии софта, и многое другое… *никсы появились позже, и выглядели как эдакое маргинальное и нишевое веяние. И, конечно, Ваша цель — корпоративные заказчики, в мире которых десктопная винда может доминировать. Это то, как, насколько понимаю, Вы это видите.

Однако, обратите внимание, что в наши дни правят не десктопы, а серверы. А в серверных правят Red Hat'ы и Debian'ы, которыми заправляют, очевидно совершенно другого рода люди. И ваша потенциальная целевая аудитория — профессиональные айтишные продуктовые компании. В таких местах интересные и полезные продукты выбирают айтишники, в эпоху Интернета и серверов привыкшие в работе с *никсами.

Скажем, можно ли настроить PVS-Studio автоматической проверки кода на build-сервере? Который с очень высокой вероятностью работает на Debian/Red Hat? Я не знаю. Просто потому, что не имел возможности проверить: моя работа в различных продуктовых Интернет-компаниях (коих сейчас едва ли не больше, чем десктопных) подразумевает работу с Юниксом, пренебрежение которым означает только одно — соответствующий продукт я, старший разработчик, рекомендовать для покупки не могу. Мы просто не сможем его в наших онлайн-играх, онлайн-сервисах и на серверах использовать!

Мне симпатичны и интересны Ваши усилия, Вы много правильного делаете для продвижения. Более того, Ваш продукт по сути своей не завязан на конкретную платформу. Я не знаю Вашего кода, но парсер, построение абстрактного дерева и последующий анализ более-менее стандартизированного языка — они не завязаны на платформу совершенно точно. А вот, эм, сердца разработчиков совершенно точно вам либо достанутся либо нет в зависимости от поддержки платформ.
Я не согласен с таким видением ситуации. Но обсуждать эту тему не интересно и не хочется. Замечу только, по поводу ощущения, что у нас Windows используется чаще. Может и чаще, но покупают в основном американцы и европейцы, а вовсе не из стран бывшего СССР. Так что всё нормально у них там с Windows.

Скажем, можно ли настроить PVS-Studio автоматической проверки кода на build-сервере?
Всё можно. Мы готовы доработать наш продукт для конкретных задач заказчика (его компилятора, ОС, редактора, системы сборки). Но только очереди из потенциальных желающих мы не видим. Зато тихо, спокойно и хорошо приобретают и продлевают PVS-Studio под Windows.
Может быть, вам виднее, я ни в коем случае не настаиваю и понимаю, что вопрос, скажем так, далеко не первичный.

Но пытаюсь понять причины, по которым зачастую аналогичные продукты если не начинают с другой стороны, либо вообще не концентрируются на отдельной платформе. В моих трех сферах — российская интернет-компания, азиатская интернет-компания, крупнейшая в настоящий момент восточноевропейская игровая компания — выходило, что конкретно PVS-studio даже рассматривать не получается.

Но, повторюсь, вам виднее.
Зато тихо, спокойно и хорошо приобретают и продлевают PVS-Studio под Windows.
Это все понятно. Но вот вы еще в 2012 г. пишете, что (цитата) возможно в будущем в дистрибутиве будет идти версия, которая может работать сразу же под Wine из коробки.

Поскорей бы. :-) Попробовал вот запустить 5.21 под вайном 1.6.2, не работает (про ошибки написал в саппорт).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий