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 и узнать разные интересные нюансы их работы.

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



Проверено: Aceler ()
Последнее исправление: cetjs2 (всего исправлений: 8)

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

Тем, что объём проекта LLVM требует для его изучения очень очень значительных усилий. Я пока даже lcc не осилил, чего уж там говорить o LLVM

alman ★★★
()

Жму руку Andrey_Karpov_2009. Так упорно и нагло продвигать своё поделие в сообществе, где тебе плюнул в рожу уже кажется каждый первый - это безусловно талант!

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

Тем, что объём проекта LLVM требует для его изучения очень очень значительных усилий. Я пока даже lcc не осилил, чего уж там говорить o LLVM

Судя по документации http://llvm.org/docs/WritingAnLLVMBackend.html ничего криминально сложного нет. Зачем Вам осиливать clang когда задача написать backend?

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

Естественное раздражение от агрессивного продвижения проприетарного продукта, который до сегодняшнего дня вообще тут оффтопом был - это теперь называется «взрыв попки»? Интересная классификация.

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

в сообществе, где тебе плюнул в рожу уже кажется каждый первый

Ну да, в линукс сообществе принято в друг друга плеваться, факи показывать, ущемлять не таких людей. Ну так что из этого? С криками «тут плохие!» ничего не делать?

Всяких там создателей драм и прочего на самом деле не много. И на них даже плевать не стоит в ответ - много чести. Просто игнорить - пускай они перед одноклассниками хвалятся какой у них идейно правильный арч.

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

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

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

Запросы на получение объектных файлов можно отправлять через форму обратной связи.

Какие еще запросы? Бинарники в открытом доступе, потому вы «must provide complete object files» без всяких запросов.

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

Чем упоротые фанатики, которые примазались к движению свободного софта и даже что-то накалякали лучше этих проприетарщиков? Тем что они свое говно сделали свободным?

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

Укажите пожалуйста, где именно в LGPL написано, что «must provide complete object files» тоже должны быть в открытом доступе?

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

Укажите пожалуйста, где именно в LGPL написано, что «must provide complete object files» тоже должны быть в открытом доступе?

Как минимум там есть: «you must show them these terms so they know their rights». Где это есть на сайте или в пакете?

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

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

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

Чем упоротые фанатики, которые примазались к движению свободного софта и даже что-то накалякали лучше этих проприетарщиков? Тем что они свое говно сделали свободным?

они и есть свободное движение, в отличие от

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

Так же в LGPL:

If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.

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

Я имел ввиду местных фанатиков. А СПО на нынешние высоты популярности вытянул Linux. А Linux вытянули корпорации. Да, без ГНУ ни чего бы такого не было, но фанатики тут ни при чём.

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

Я не юрист, однако фраза

offer equivalent access to copy the above specified materials from the same place

открыта для интерпретации. Что именно значит «equivalent access» и «same place»? Я могу утверждать, что и рассматриваемый продукт, и «specified materials» предоставляются эквивалентным способом (Интернет) и в одном месте (сайт viva64). Предполагать что-либо большее из приведённого фрагмента лицензии, на мой взгляд, будет лишь домыслом.

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

предоставляются эквивалентным способом (Интернет)

А можно ведь и голубями переслать, да? Очевидно же, что объектники должны быть доступны на той же странице и скачиваться одним кликом, как и пакеты с бинарниками.

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

Единственное, что действительно интересно в этом докладе - то, что доработка анализатора под специфику GCC оказалась для вас неожиданной. Остальное - типичная растерянность перед Linux «разработчика», который не видел ничего, кроме венды: «у них тут всё по-другому!!11». Причем никаких технических деталей не приводится - тупо вода про «на некоторых системах glibc такая старая, что на ней ничего не запускается».

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

Нормальный человек увидит как у него в подъезде серет бомж и пройдет мимо. (А «ненормальный» наверное ментов вызовет)

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

Это ваше личное мнение. Для меня например, из текста лицензии, это не очевидно.

Все там очевидно. Я скачал себе продукт, и теперь хочу получить объектники «в том же месте, с такой же доступностью». Это требование лицензии. Т.е. без всяких обращений, просьб и возможно бесполезного ожидания. Более того, вы должны предоставить все инструменты и инструкции для пересборки вашего продукта, но это оставим на потом.

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

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

Я думаю об этом когда вижу одновременно аниме и гейфлаг на аватарке. Но не будем отклоняться от темы и переходить на личности.

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

Что вы имеете против аниме и геев? Как это относится к обсуждаемой теме? А срущие бомжи как относятся?

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

Все там очевидно. Я скачал себе продукт, и теперь хочу получить объектники «в том же месте, с такой же доступностью». Это требование лицензии. Т.е. без всяких обращений, просьб и возможно бесполезного ожидания. Более того, вы должны предоставить все инструменты и инструкции для пересборки вашего продукта, но это оставим на потом.

Тебе должны? Обращайся в суд.

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

Тебе должны? Обращайся в суд.

Зачем, мне достаточно, по сути, признания того, что данная компания нарушает лицензию. Это их репутация.

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

Это их репутация.

какая нафиг репутация?

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

Как?! Уже надоели?! Мы ещё и не начинали. Мы только, только начинаем добрую дружбу c Linux!

Уже кто-нибудь купил?

kirk_johnson ★☆
()

Алсо странная логика — для мелких команд Linux-поддежки нет.

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

Вот же ты пустобрёх, а! Сообщество — подъезд. Человек, использующий это сообщество в своих корыстных интересах несмотря на всеобщую негативную реакцию — бомж. Его деятельность — срать. Прозрачная и понятная аналогия. В чем твоя проблема?

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

Ещё один знаток «рашин бизнеса» выискался. Я парень терпеливый, могу и повторить: у корпорации Oracle ценообразование точно такое же скотское, и эта корпорация - ни разу не российская.

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

Поясни в чём аналогия срущих в подъезде бомжей и продукта из обсуждаемой новости.

Ты сам это сказал!

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

Оно всегда так начинается. А потом «еще бы шаблоны», «строгая типизация бы пригодилась», «а лямбду можно?» и т.п.

Pavval ★★★★★
()

Подправил код:

#include <stdio.h>
#include <inttypes.h>
static int f (uint32_t a, uint32_t b) {
  int64_t c=a-b;
  if (c<0) return 1;
  return 0;
}
int main(void) { return f(10,11);}

Согласитесь, должно выдавать что-то типа: «В функции f всегда будет возвращён 0», или это задача динамического анализатора? Или покрытия?

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

Я имел ввиду местных фанатиков. А СПО на нынешние высоты популярности вытянул Linux. А Linux вытянули корпорации. Да, без ГНУ ни чего бы такого не было,

Местные фанатики часть Мирового ГНУ они и есть настоящее сообщество Линукса. Все достижения это их достижения. А компании на которые ты онанируешь это присосавшиеся паразиты. Не пытайся черное представить белым. Лохов здесь нет. Ты уже внесён в список предателей, смирись и упокойся.

но фанатики тут ни при чём.

Без фанатиков и идеалистов не было бы Линукса.

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

Из всего С++ мне нужна только концепция классов.

Золотые слова!

" - Концепция классов? Она же объектно-ориентированное программирование? В общем, скажите, из какого класса гимназии вас вытурили за неуспешность? Из шестого?" почти (ц)

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)

Я смотрю знатно бомбит у местной аудитории. 6 страниц попаболи. О чем это говорит? :)

anonymous
()

Пжелание

У меня вам отличное пожелание есть. Увидеть на свою новость сообщение:

4.2 Вызывающе неверная информация

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

Линукс писали не фанатики и идеалисты. Люди просто пилили инструмент, а лицензия как позволяла им пилить продукт под себя, так и обязывала все свои правки передавать дальше.

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

Зачем, мне достаточно, по сути, признания того, что данная компания нарушает лицензию. Это их репутация.

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

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

Я смотрю знатно бомбит у местной аудитории. 6 страниц попаболи. О чем это говорит? :)

Как минимум, о несоответствии ожиданий местной аудитории и маркетинговой политики разработчиков PVS-Studio.

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

Для системного программирования вполне достаточно. Особливо если библиотеки самописные. А когда включаются «навороты», то они тянут за собой кучу кода, который в системном программировании является лишней сущностью.

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

Для системного программирования вполне достаточно.

И что? Для системного программирования достаточно и Си (без классов).

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

Много раз слышал эту чушь, но никогда не видел цифр.

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

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

Овощу-мямле достаточно локального масштаба в виде лично себя. Ну максимум топика на ЛОР-е. А вы сами там уже решайте глобальные задачи по восстановлению справедливости на планете Земля.

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