LINUX.ORG.RU

PVS-Studio под Linux, тренируемся на Inkscape

 , , , ,


0

4

Как я уже писал, мы потихоньку продолжаем заниматься созданием PVS-Studio for Linux. Потихоньку от того, что половина С++ сотрудников в летних отпусках. А так мы по-прежнему полны энтузиазма.

При разработке нам естественно надо на чем-то испытывать анализатор. Для этого берутся различные проекты, и иногда попутно, вот как сейчас, пишутся статьи. На этот раз жертвой стал графический редактор Inkscape. Если честно, я его даже никогда не видел (сам использую Gimp), но он не раз упоминался на Linux.org.ru, а значит местному сообществу будет интересно взглянуть на найденные в нем ошибки.

Вообще, у нас теперь появляется возможность проверить очень много интересных проектов. Например, у меня уже лежит статья о том, как PVS-Studio легко и непринуждённо находит ошибки в компиляторе GCC. Есть интересные ошибки:

static bool
dw_val_equal_p (dw_val_node *a, dw_val_node *b)
{
  ....
  case dw_val_class_vms_delta:
    return (!strcmp (a->v.val_vms_delta.lbl1,
                     b->v.val_vms_delta.lbl1)
            && !strcmp (a->v.val_vms_delta.lbl1,
                        b->v.val_vms_delta.lbl1));
  ....
}

Но это потом, cтатью про GCC я ещё даже не передал переводчику. А пока приглашаю почитать про ошибки в проекте Inkscape.

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



Проверено: Shaman007 ()
Последнее исправление: CYB3R (всего исправлений: 4)
Ответ на: комментарий от UVV

Так использовать пока нечего, версии под Линукс как бы нет.

Маркетинг по-русски.

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

V668 There is no sense in testing the 'outputBuf' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error

вообще то, насколько я помню, при отключенных исключениях он будет возвращать nullptr. А исключения могут быть отключены откуда нить сверху из проекта, который юзает код inkscape

Да, такое может быть. Но тогда достаточно отключить диагностику V668 и забыть про ложные срабатывания.

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

кстати, а почему такое пренебрежение к макоси? неужели на линуксе больше заинтересованных разработчиков? или тоже есть в планах?

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

кстати, а почему такое пренебрежение к макоси? неужели на линуксе больше заинтересованных разработчиков? или тоже есть в планах?

Не всё сразу. Пока ещё не ясна судьба C# и Linux.

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

Разработчик-одиночка != нищеброд. Палитесь.

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

C# - это потому что ваш продукт на нем написан?

почему именно судьба не ясна?

(если что, продукт компании, в которой я работаю, тоже использует C#, и умеет в линукс, поэтому не очень понятно что там с судьбой)

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

http://www.viva64.com/en/b/0419/

Тебе бы английский подтянуть или пусть редактор пройдётся по тексту. Из первых пары абзацев то, что бросилось в глаза:

The project has been developing has been being developed for over 12 years now and provides a large number of features to work with various vector-image formats.

In this article, I...
Over this time, ...
For this analysis, w...

Нахрена там запятые? Просто чтобы?

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

has been being developed

Лучше has been in development.

In this article, I...
Over this time, ...
For this analysis, w...

Здесь с точки зрения английской пунктуации всё в порядке.

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

Лучше has been in development.

Да, точно. Я всё думал, как без пассива обойтись.

Здесь с точки зрения английской пунктуации всё в порядке.

Я бы сказал, что в первом случае возможно, но во втором и третьем как-то злоупотребление идёт. Хотя я не спец, да. http://www.grammar-monster.com/lessons/commas_after_a_sentence_introduction.htm

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

Насколько я понял, автор пишет статьи на русском, а потом сдает переводчику.

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

Ну я предложил такой вариант. nemyax предложил вариант лучше, без пассива. Что не таг?

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

По правилам. Давай ты сам английский подтянешь.

Про запятые почитал. Забыл это правило.

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

Правильно ли я понимаю, что Вы хотите сказать следующее: «здесь на лоре сидят только нищеброды делающие в одиночку хобби-проекты»? Я уверен, что это не так.

Разумеется, не так. Здесь сидят нищеброды ничего не делающие и окромя разведения унылых срачей делать не умеющие.

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

По правилам. Давай ты сам английский подтянешь.

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

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

Правильно ли я понимаю, что Вы хотите сказать следующее: «здесь на лоре сидят только нищеброды делающие в одиночку хобби-проекты»? Я уверен, что это не так.

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

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

C# - это потому что ваш продукт на нем написан?

Появился Roslyn и написать анализатор стало намного проще. А так мы давно хотели C#.

почему именно судьба не ясна?

Пока про PVS-Studio C# мало кто знает и клиентов мало.

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

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

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

Если коротко, так не говорят.

В устной речи - безусловно. В письменной - есть варианты. Ты о своём опыте? Профиль говорит Мск..

Если коротко, так не говорят. Тебе привели хорошую, красивую формулировку без пассивного залога.

И я с этим согласился.

Вообще, пассивным залогом надо пользоваться только когда без него совсем уже никак.

Мой шеф говорил, что документашку пишут только в нём. Но это которую уж для совсем safety related систем. Правда такое я слышал только от него.

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

The project has been developing

Да и переводчик наверное русскоязычный.

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

В устной речи - безусловно. В письменной - есть варианты.

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

Ты о своём опыте? Профиль говорит Мск.

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

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

И шо тебе не нравится?

Мне не нравится то, что под соусом одного толкают другое. То есть по твоей логике, Винду тоже надо к опенсурсу отнести, потому что она Inkscape умеет запускать?

Страдай.

Видимо, страдаешь ты из-за этой поделки.

MuZHiK-2 ★★★★
()

графический редактор Inkscape. Если честно, я его даже никогда не видел (сам использую Gimp)

Ну офигеть подход. «Возьму что под руку попадётся, прогоню через инструмент».

Inkscape векторный графический редактор, Gimp растровый.

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

Новость про поиск бета-тестеров была в «Проприетарном ПО», про проверку Inkscape в «Open Source». Всё нормально. Результаты передаются разработчикам проверяемого свободного ПО. Т.е. это новость и о том, что там в коде этого открытого ПО.

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

Вы неправы: Inkscape это открытый проект. Статья посвящена его проверке.

Мы все тут взрослые люди и прекрасно понимаем, что статья посвящена пиару вашей продукции, а то что в качестве расходника выступает опенсурс приложение, не позволяет относить вашу продукцию к категории опенсурс. Или вы считаете, что если я загружу на эвакуатор БМВ, то он станет легковушкой?

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

т.е. это новость и о том, что там в коде этого открытого ПО

Видишь, ты сам признаешь, что свободное ПО второстепенно. Я предлагаю различать первичную цель и вторичную (которая возникает как следствие). Разработчикам сабжа глубоко насрать на наши идеалы свободы, о чем они открыто и без стеснения заявляют. А мы только подставляем ладошки.

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

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

Ну сходи в спецтему, кастани Шамана и выскажи своё не согласие с помещением новости в этот раздел.

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

Мне не нравится то, что под соусом одного толкают другое.

PVS-Studio — это пример того, что один мой знакомый называет общественно-полезным бизнесом.

Андрей нашел баги в Блендере — и эти баги Кэмпбелл поисправлял. То же самое было с гимпом два года спустя (смотри коммент выше). Щас докатилось до инкскейпа — и там тоже наверняка почистят.

Вопрос скорее в том, что это одноразовая акция щедрости в отличие от Coverity. Да и анализатор в шланге тоже всем доступен.

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

я чет совсем не понял о чем речь. создается впечатление, что я спросил «почему нет PVS-Studio для C# + Linux», тогда как я спросил почему нет версии для OSX без всякого C# :)

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

Вопрос скорее в том, что это одноразовая акция щедрости в отличие от Coverity. Да и анализатор в шланге тоже всем доступен.

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

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

Почему за pr одного отечественного антивируса его автора банят, а за pr pvs studio - нет?

Если мой парсер правильно понял, про какой антивирус речь, то во-первых, он pr-ится откровенно спамерскими методами (залезание в посторонние темы и др.), а во-вторых, к линуксу и opensource он отношения не имеет от слова «совсем».

PVS Studio же уже довольно давно используется для публичных сеансов разоблачения чёрной и белой магии проверки ряда opensource-проектов, в т.ч. ядра Linux, а теперь вот и линукс-версия самого продукта потихоньку появляется. В тематику раздела «Коммерческое ПО» вполне укладывается.

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

А так мы давно хотели C#

А D не хотите? (Возможно, после C#.) Он относительно недавно стабилизировался, к нему довольно большой интерес, проекты начали всплывать...

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

я чет совсем не понял о чем речь. создается впечатление, что я спросил «почему нет PVS-Studio для C# + Linux», тогда как я спросил почему нет версии для OSX без всякого C# :)

Я имел ввиду, что у нас сейчас два быстро развивающихся подпроекта: C# и Linux. Третий мы рискуем не осилить и загнуться.

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

А D не хотите?

На нём не ведется разработка ПО в промышленных масштабах. Слишком узкий рынок, по сравнению с C++ или C#.

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

что не так с пассивной формой

Формально present perfect continuous passive — форма допустимая, потому что конструируется как положено. Но по сути искусственная и неупотребимая.

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

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

Ой бедненький, как ты живёшь? Тут куча бизнесменов бабки закалачивают вообще плюя на всех и вся.

Применительно к области разработки СПО: ты так же бугуртишь с Ред Хата? Ведь они хоть и разрабатывают спо, но с оглядкой на себя. А сами бабло стригут на красношляпе. Еще и обманным образом заставляют это ПО тестировать на Фёдоре, которая хоть и свободна, но всего лишь тестовая площада основного продукта?

И я таких примеров тебе могу еще много привести. Оракл хоть вспомни.

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

антивирус

Там правда что-то есть? Мне он представляется чем-то такого уровня: там гуси, сотня строк пустого безграмотного кода и т.п.

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

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

однако, если мне вожжа под хвост попадет, то я создам запись у них на стене плача

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

Community-версия с открытым кодом и безвозмездно, что значит - даром, будет?

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

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

Ой бедненький, как ты живёшь?

Таким образом я не живу.

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

Ну ты сравнил ладонь с задницей, еще и людей в заблуждение вводишь. Шляпа делает деньги на поддержке и консультациях, внедрении и работах под заказ. Сам дистрибутив доступен бесплатно, можешь ставить и использовать. Исходники шляпа выкладывает. Плюс спонсируют многие разработки.

Еще и обманным образом заставляют это ПО тестировать на Фёдоре, которая хоть и свободна, но всего лишь тестовая площада основного продукта?

Ладно уже, признайся, сколько тебе платят представители сабжевой поделки? Еще раз: никто не запрещает тебе легально поставить оригинальную шляпу.

И я таких примеров тебе могу еще много привести.

Как оказалось, пример твой был очень НЕудачным. Пиши еще.

Оракл хоть вспомни.

А что Оракл? Джава платной стала, скачать не можешь уже? Solaris ты тоже не можешь скачать? Или Oracle Solaris Studio не скачать уже?

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