Собираем
информацию
по крупицам

Linux: как перестать удивляться, и начать работать

Удаленная новость на Linux.Org.Ru о проверке ядра Linux статическим анализатором PVS Studio
19-01-2015
11:22:17

Ядро Linux проверено проприетарным статическим анализатором PVS Studio

Метки: kernel, linux

 

https://www.linux.org.ru/news/commercial/11208468

 

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

В системах с открытым исходным кодом существует небольшое количество статических анализаторов, поддерживающих язык C (Sparse, splint), поэтому разработчики open source проектов не брезгуют пользоваться проприетарными анализаторами. В отчете, опубликованном на сайте PVS Studio, сами разработчики отечественного статического анализатора инициировали проверку ядра Linux.

Проверке подвергся код стабильного ядра версии 3.18.1. Специально для данного исследования анализатор PVS Studio был портирован на Linux. Анализу подвергались препроцессированные файлы ядра. Для анализа исходников была написана утилита, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. В качестве среды, в которой проводилась проверка, использовался дистрибутив Ubuntu-14.04.

Краткие результаты: ошибки и уязвимости присутсвуют, и их много. Об отчете уведомили разработчиков ядра в рассылке LKLM.ORG. Некоторые ошибки множественные: раз и два. По замечаниям уже начали высылать патчи, например, этот.

Xintrea
11.01.2015 23:03:15

 

 

 

А что сказал Линус?
Mystra_x64 (11.01.2015 23:20:32)



Ответ на: комментарий от Mystra_x64 11.01.2015 23:20:32

Кого это волнует в мире опенсорча?
Xintrea (11.01.2015 23:31:56)



Ответ на: комментарий от Xintrea 11.01.2015 23:31:56

В случаем с ведром? Многих. А почему вы отвечаете вопросом на вопрос? :}
Mystra_x64 (11.01.2015 23:33:43)



Ответ на: комментарий от Xintrea 11.01.2015 23:31:56

Меня и еще тысячи людей.
anonymous (11.01.2015 23:34:51)



Считаю неэтичным их пиар своего коммерческого продукта на свободных проектах. Собственно, в статьях они и не скрывают, что главная цель - реклама и продажи.
anonymous (11.01.2015 23:36:24)



Ответ на: комментарий от anonymous 11.01.2015 23:36:24

Напротив, считаю абсолютно этичным бесплатный контроль качества свободного проекта. Увеличение продаж - это достойное вознаграждение за акт доброй воли.
Xintrea (11.01.2015 23:39:14)



Ответ на: комментарий от anonymous 11.01.2015 23:34:51

> Меня и еще тысячи людей.

Я думаю, Линус не будет против. Но вы можете спросить у него лично.
Xintrea (11.01.2015 23:43:23)



Ответ на: комментарий от Xintrea 11.01.2015 23:43:23

Меня не волнует твое мнение.
anonymous (11.01.2015 23:54:48)



Ответ на: комментарий от anonymous 11.01.2015 23:36:24

Считаю не этичным все сводить к «пиару». Это узколобо.
Shaman007 (11.01.2015 23:58:44)



Ответ на: комментарий от Shaman007 11.01.2015 23:58:44

Считаю неэтичным писать «не этичным» в данном контексте.

По сабжу: какова бы ни была цель разработчиков PVS Studio, это пойдёт на пользу Linux: ошибки были найдены, разработчики были уведомлены, начинается работа по исправлению. Всем хорошо.
sluggard (12.01.2015 0:03:58)



Ответ на: комментарий от Mystra_x64 11.01.2015 23:20:32

пример патчика «looks fine»
anonymous (12.01.2015 0:05:42)



> Check the shift operator '<<. The left operand is negative.

Как будто что-то плохое.
Myau (12.01.2015 0:06:02)



> Для анализа исходников была написана утилита, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. В качестве среды, в которой проводилась проверка, использовался дистрибутив Ubuntu-14.04.

профи, чё
anonymous (12.01.2015 0:09:16)



О, никогда не замечал баттхерт петушков, которые на проприетарное ПО какают кровью.

А за проект респект. Для Минта значит скоро запилят хорошее стабильное ядро :))
bookman900 (12.01.2015 0:11:50)



Достойный продукт, особенно для российского рынка. Буду рад, если он потеснит Coverity. Надеюсь, в определённый момент финансовые обстоятельства позволят им открыть исходники продукта.
Legioner (12.01.2015 0:12:40)



Давно этого ждал, читая их периодические отчёты на швабре. Чуваки молодцы, надеюсь, всем это пойдёт впрок.
Axon (12.01.2015 0:18:15)



Краткие результаты: решето, не готов, всем пофиг.
thesis (12.01.2015 0:24:35)



Эта ссылка неделю назад уже попала в рассылки хабра в категории «самое интересное». Опаздываете...
gns (12.01.2015 0:31:06)



> небольшое количество статических анализаторов, поддерживающих язык C (Sparse, splint)

scan-build из clang же

> Некоторые ошибки множественные: раз и два.

Это не ошибки.

> По замечаниям уже начали высылать патчи, например, этот.

Опять же не ошибка, а cleanup, убрали лишнее. Вобщем тупо пиар на ровном месте.
anonymous (12.01.2015 0:36:26)



Монетизация у этого анализатора самая анальная из всех возможных в мире: на количество разработчиков. У меня монитор сломался - не может отобразить всю глубину жадности.
punya (12.01.2015 0:40:06)



Ну вот, прорекламировали... Хотел было скачать их демо-версию, да запустится не получится... Оффтопик, блин, онли :(
gns (12.01.2015 0:41:13)



Ответ на: комментарий от bookman900 12.01.2015 0:11:50

> Для Минта значит скоро запилят хорошее стабильное ядро

Только для Минта ? :-)
AS (12.01.2015 0:42:25)



Ответ на: комментарий от AS 12.01.2015 0:42:25

> Только для Минта ? :-)

Конечно для всех, вот теперь заживем!
anonymous (12.01.2015 0:43:22)



Ответ на: комментарий от gns 12.01.2015 0:31:06

> попала в рассылки хабра

Чтобы пообсуждать, регистрироваться везде ?
AS (12.01.2015 0:43:48)



Ответ на: комментарий от punya 12.01.2015 0:40:06

Много какого Ынтерпрайза так лицензируется... Приходится терпеть, блин :(
gns (12.01.2015 0:46:44)



Ответ на: комментарий от gns 12.01.2015 0:31:06

> Эта ссылка неделю назад уже попала в рассылки хабра в категории «самое интересное». Опаздываете...

Я тупо бухал.
Xintrea (12.01.2015 0:49:32)



Ответ на: комментарий от gns 12.01.2015 0:46:44

Субд всякие, гитхаб локальный - это я понимаю. Статический анализатор.. ни одного приличного слова на уме.
punya (12.01.2015 0:50:43)



Ответ на: комментарий от AS 12.01.2015 0:43:48

Наверное. Но не вижу причин так не делать. Отчет анализатора по началу кажется небезинтересным. Эти все случаи «небезопасного использования» являются хотя бы поводом, что бы посмотреть в код еще раз. Интересен контекст вызова, использования возвращаемых значений и прочее.
gns (12.01.2015 0:51:25)



Ответ на: комментарий от punya 12.01.2015 0:40:06

Чего не нравится-то? Позволяет финансировать разработку за счёт всяких айбиэмов, а маленьким фирмам продовать по доступной цене.
anonymous (12.01.2015 0:52:54)



Ответ на: комментарий от punya 12.01.2015 0:50:43

Ну а какя-нибудь Жира или SlickEdit, туды его в качель, хоть и хороший он редактор... Денег всем хочется. И я их понимаю :)
gns (12.01.2015 0:53:45)



Ответ на: комментарий от anonymous 11.01.2015 23:36:24

> Считаю неэтичным их пиар своего коммерческого продукта на свободных проектах.

А Столлман не считает. А твоё мнение незначительно.
anonymous (12.01.2015 0:54:55)



Ответ на: комментарий от gns 12.01.2015 0:51:25

> Но не вижу причин так не делать.

Можно подождать, пока на LOR опубликуют. :-)
AS (12.01.2015 0:55:49)



Ответ на: комментарий от Xintrea 12.01.2015 0:49:32

Ну на новый год бывает. :)
gns (12.01.2015 0:56:54)



Ответ на: комментарий от AS 12.01.2015 0:55:49

А так же засветиться на слешдоте и послать фельдегеря Линусу лично :)

Поспешили, поспешили... :)
gns (12.01.2015 1:00:09)



Ответ на: комментарий от Legioner 12.01.2015 0:12:40

И сделать версию для линукса! :)
gns (12.01.2015 1:02:16)



Ответ на: комментарий от gns 12.01.2015 1:02:16

Ждите дальше, наивные чукотские юноши.
anonymous (12.01.2015 1:03:37)



Ответ на: комментарий от anonymous 12.01.2015 0:52:54

Когда продукт необходим только для крупных корпораций - я согласен. Сегодня же нам говорят: «нас не волнует, чем вы занимаетесь, покупайте наш продукт, как будто вы - крупная корпорация». У нормальных компаний такого не случается, они поворачиваются лицом к опен сорсным продуктам. Например https://www.jetbrains.com/devnet/sponsorship/open-source/
punya (12.01.2015 1:05:05)



В девеле уже обо^W обсудили.
aedeph_ ★☆ (12.01.2015 1:06:44)



Я таки дочитал отчет до конца. Первый абзац раздела «Заключение» доставляет!
gns (12.01.2015 1:15:38)



А портированный под Линукс анализатор можно юзать для проверок других проектов?
Vinni_Pooh (12.01.2015 1:19:13)



> без зазрения совести используют русский язык в проекте

всё правильно делают
amorpher (12.01.2015 1:20:08)



> Инсайдерская информация: разработчики PVS Studio без зазрения совести используют русский язык в проекте, в частности, делают описание диагностик на родном языке, чтобы уменьшить сложность разработки (пруф).

Что-то пруфа не нашел по ссылке. Ткни носом.

У них там всё на ангельском точно, описания диагностик тем более. Они даже все свои статьи на него переводят: http://www.viva64.com/en/b/
EXL (12.01.2015 1:25:02)



Ответ на: комментарий от punya 12.01.2015 1:05:05

Ты о чём вообще жалуешься, а то я не пойму? Если у тебя фирма из полутора человек, то тебе платить за две лицензии, при чём тут крупные корпорации? Если ты про отсутствие опенсорсной версии, то это совсем другая история.
anonymous (12.01.2015 1:25:49)



ну что пагни, когда начинаем буґґуртить, не нужно же оно? Пусть мамке своей статический анализ сделает, ведь так ведь?
redhat (12.01.2015 1:35:44)



Алё, гараж... fallout4all, ты подтвердил какую-то фигню:

> разработчики open source проектов не брезгуют пользоваться проприетарными анализаторами. В отчете, опубликованном на сайте PVS Studio, сами разработчики отечественного статического анализатора инициировали проверку ядра Linux

разработчики опенсорса к этому «использованию проприетарного анализатора» отношения не имеют - PVS просто провел рекламную акцию.

> Краткие результаты: ошибки и уязвимости присутсвуют, и их много

Это FUD.

И причем тут «Linux в России»? Это «Проприетарное ПО».
tailgunner (12.01.2015 1:42:43)
Последнее исправление: tailgunner 12.01.2015 1:46:45 (всего исправлений: 1)



Неужели в моем любимом Линуксе есть баги и уязвимости?
Jedi-to-be (12.01.2015 1:49:34)



PVS Studio уже прошел проверку PVS Studio, а GCC уже прошел проверку ?
vasya_pupkin (12.01.2015 1:51:25)



Ответ на: комментарий от vasya_pupkin 12.01.2015 1:51:25

> PVS Studio уже прошел проверку PVS Studio

Сколько статей видел, среди первых обязательно задают этот вопрос. Авторы даже начали небольшой FAQ публиковать. Согласно ему — да, прошёл, и проходит регулярно. Следующий по популярности вопрос: «Если ли версия под Linux?»
i-rinat (12.01.2015 1:53:03)



Ответ на: комментарий от Jedi-to-be 12.01.2015 1:49:34

Знаешь, популяризаторская работа тоже важна, но ты с этой агрессивной зацикленностью на ReactOS уже надоел.
i-rinat (12.01.2015 1:54:25)



Ответ на: комментарий от redhat 12.01.2015 1:35:44

Каво пагнать?
anonymous (12.01.2015 2:10:21)


Ответ на: комментарий от i-rinat 12.01.2015 1:53:03

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

И это замечательно! А GCC прошел проверку ? А LLVM прошел проверку? А чем его собрали под Linux ?
vasya_pupkin (12.01.2015 2:11:30)



Ответ на: комментарий от i-rinat 12.01.2015 1:54:25

Я сейчас про ReactOS, в общем-то, молчал... Да и вообще с ним в чисто линуксовые новости и обсуждения не лезу.
Jedi-to-be (12.01.2015 2:16:43)
Последнее исправление: Jedi-to-be 12.01.2015 2:17:04 (всего исправлений: 1)



Ответ на: комментарий от vasya_pupkin 12.01.2015 2:11:30

> А GCC прошел проверку ? А LLVM прошел проверку?

У них на сайте есть список проектов, которые они проверяли. Clang вроде проверяли.

> А чем его собрали под Linux?

Сомневаюсь, что они запускали его под Linux. Там же написано ­— сгенерировали сырой выхлоп (что-то вроде gcc -E), и этот выхлоп скармливали анализатору. gcc -E можно запускать под Linux, а выхлоп анализировать на машине с Windows.
i-rinat (12.01.2015 2:22:05)



Ответ на: комментарий от EXL 12.01.2015 1:25:02

> Ткни носом

http://habrahabr.ru/company/pvs-studio/blog/247271/#comment_8208361
Xintrea (12.01.2015 2:23:46)



> Инсайдерская информация: разработчики PVS Studio без зазрения совести используют русский язык в проекте, в частности, делают описание диагностик на родном языке, чтобы уменьшить сложность разработки (пруф).

Пацаны вообще ребята! Респект и уважуха :)
Rodegast (12.01.2015 2:26:22)



Ядро Linux проверено проприетарным статическим анализатором

Это вообще законно!?
makoven (12.01.2015 2:33:02)



Ответ на: комментарий от i-rinat 12.01.2015 1:54:25

> Знаешь, популяризаторская работа тоже важна, но ты с этой агрессивной зацикленностью на ReactOS уже надоел.

надо же, а с первых 10-и раз это и не заметно
argin (12.01.2015 2:46:21)



Ответ на: комментарий от Mystra_x64 11.01.2015 23:20:32

> > subject: Ядро Linux проверено проприетарным статическим анализатором PVS Studio

> А что сказал Линус?

это ли не тот самый человек кто использовал (и радовался этому) проприетарную систему управления исходным кодом? [до создания Git]
user_id_68054 (12.01.2015 2:54:57)



Пиарнулись, и всё. Проприетарщина такая проприетарщина. Вот опенсорцнут своё поделие, тогда и будем.
funeralismatic (12.01.2015 3:00:16)



Ответ на: комментарий от Jedi-to-be 12.01.2015 1:49:34

> Неужели в моем любимом Линуксе есть баги и уязвимости?

Не обманывай. Любимый Линукс у тебя это ReactOS.
EXL (12.01.2015 3:07:51)
Последнее исправление: EXL 12.01.2015 3:08:02 (всего исправлений: 1)



Ответ на: комментарий от punya 12.01.2015 1:05:05

> У нормальных компаний такого не случается, они поворачиваются лицом к опен сорсным продуктам. Например https://www.jetbrains.com

> JetBrains

> нормальных компаний

> CLion

> 6 GB RAM

> Hello World

EXL (12.01.2015 3:10:13)
Последнее исправление: EXL 12.01.2015 3:11:21 (всего исправлений: 1)



Ответ на: комментарий от EXL 12.01.2015 3:07:51

Ты и вправду думаешь что он использует в повседневной жизни реактос, а не максималочку?
anonymous (12.01.2015 3:31:50)



Ответ на: комментарий от Xintrea 11.01.2015 23:39:14

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

- разовую проверку, не особо полезную, поскольку статическим анализатором нужно пользоваться постоянно, а не по большим праздникам

- будораженье сообщества в духе «ребята, я тут увидел статью, где ваш код проверяют PVS Studio, нашли баги, поправьте?». Разработчики бросают действительно важные дела и начинают фиксить какие-то ворнинги, большая часть из которых вообще никак на реальную работу программы не влияет. Происходить отвлечение ресурсов на рюшечки в коде

Спасибо, ребята, что попиарились на опенсорсе. Как метко подметили в одном из проектов, на которых пытался пиариться сабж, эта «помощь» сродни бесплатной футболке, за получением которой нужно ехать в соседний город, потратив больше времени и ресурсов, чем стоит «подарок».
anonymous (12.01.2015 4:07:39)



Ответ на: комментарий от Myau 12.01.2015 0:06:02

По стандарту — неопределённое поведение.

То, что gcc на x86/amd64 обрабатывает это так, как ты ожидаешь — ещё ничего не значит, тебе никто не обещает, что так везде будет.
anonymous (12.01.2015 4:32:29)



Купить PVS Studio, искать уязвимости и использовать их в своих интересах... такое возможно?
anonymous (12.01.2015 4:53:06)



Ответ на: Ядро Linux проверено проприетарным статическим анализатором от makoven 12.01.2015 2:33:02

Да.
kernelpanic (12.01.2015 5:05:34)



OpenBSD проверьте
odii (12.01.2015 5:14:09)



Ответ на: комментарий от anonymous 12.01.2015 4:53:06

> Купить PVS Studio

Лучше купить немножко Линуса
anonymous (12.01.2015 5:16:26)



Ответ на: комментарий от Legioner 12.01.2015 0:12:40

> финансовые обстоятельства позволят им открыть исходники продукта.

Не очень-то и тонко пожелал краха фирме. Почитай истории открытия закрытых коммерческих продуктов.
greenman (12.01.2015 5:18:35)



Ответ на: комментарий от anonymous 12.01.2015 4:07:39

ЦА не только свободных проектов разработчики, а скорее проприетарных.

Линукс использовался для демонстрации. И это пример того, как открытый код может принести пользу.
anonymous (12.01.2015 5:35:57)



Ответ на: комментарий от Shaman007 11.01.2015 23:58:44

Два чая этому господину!
keeper_b (12.01.2015 6:10:53)



> разработчики PVS Studio без зазрения совести используют русский язык в проекте

Будто что-то плохое.
keeper_b (12.01.2015 6:12:22)



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

Ну и хорошо. А то никакой мочи не хватит на светлые лики англофагов.
Akamanah (12.01.2015 6:15:59)



Ответ на: комментарий от anonymous 12.01.2015 4:32:29

> По стандарту — неопределённое поведение.

Врёшь. Про знак ЛЕВОГО операнда при сдвиге ВЛЕВО там ничего не сказано.
alegz (12.01.2015 6:30:25)



Ответ на: комментарий от anonymous 12.01.2015 4:32:29

Тут, скорей всего, имеется в виду другое — если этот сдвиг был использован для умножения на 2, то для отрицательного операнда возможен сюрприз.
alegz (12.01.2015 6:36:42)



русский код находит ошибки в западном, а наоборот — нет
anonymous (12.01.2015 6:58:13)



Ответ на: комментарий от anonymous 11.01.2015 23:36:24

но найденные ошибки — это считай нахаляву закоммиченые исправления. каким мудаком нужно быть, чтобы это не понимать
anonymous (12.01.2015 7:03:18)



Ответ на: комментарий от gns 12.01.2015 0:41:13

wine
anonymous (12.01.2015 7:05:11)



Ответ на: комментарий от anonymous 12.01.2015 7:03:18

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

ну эта страна славится своими своими мудаками различных мастей и пород.
prizident (12.01.2015 7:09:56)



Ответ на: Ядро Linux проверено проприетарным статическим анализатором от makoven 12.01.2015 2:33:02

травка, женщины, прогон проприетарных статических анализаторов по gpl коду... во были времена
anonymous (12.01.2015 7:09:56)



Ответ на: комментарий от prizident 12.01.2015 7:09:56

> эта страна

товарищ комиссар, и мой ip вам видно?
anonymous (12.01.2015 7:14:22)



Мы уверенно движемся в никуда

Обратите внимание, что 95% ошибок связано с тем, что «компилятор решит, что.. и сделает по-своему». Можно долго рассуждать на эту тему, уже не только программные продукты и операционные систему затачиваются под дебилов, но и среды разработки. За что боролись, на то и напоролись
MAGNet (12.01.2015 8:15:56)



Опа! Они теперь и линукс посчитали!

На самом деле круто. Разработчики одного мультипротокольного мессенджера тоже бугуртили после такого анализа, но код таки подправили в итоге.
Radjah (12.01.2015 8:24:43)



Как они посмели осквернить свободное ядро своим пропритарным анализатором?!
Sociopsih (12.01.2015 8:25:54)



Ответ на: комментарий от aedeph_ 12.01.2015 1:06:44

покажы, покажы!
darkenshvein (12.01.2015 8:36:45)



Ответ на: комментарий от tailgunner 12.01.2015 1:42:43

Он знает. Казачок же засланный)
darkenshvein (12.01.2015 8:42:52)



Обидно, что люди, делающие хорошее и полезное дело, не могут описать полученные результаты на хорошем английском. http://www.viva64.com/en/b/0299/
Centaur (12.01.2015 8:48:12)



Не нужно

Добрались, черти... На швабре куча однотипных статеек о таких проверках есть. Носятся со своим pvs studio, как с писаной торбой.
Meyer (12.01.2015 8:58:55)



Ответ на: комментарий от gns 12.01.2015 0:31:06

кому неделю назад было дело до ядер линуха
anonymous (12.01.2015 8:59:52)



Ответ на: комментарий от Shaman007 11.01.2015 23:58:44

> Считаю не этичным все сводить к «пиару». Это узколобо.

Золотые слова. Если бы все так думали, информационного мусора на ЛОРе было бы раз в 10 меньше.
anonymous (12.01.2015 9:03:32)



ШЕ РЕ ТО
a500tut (12.01.2015 9:18:22)



Ответ на: комментарий от vasya_pupkin 12.01.2015 2:11:30

ещё один фанатик шланга?
darkenshvein (12.01.2015 9:23:44)



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

Шта? Чтобы уменьшить сложность разработки чего? PVS?
maverik (12.01.2015 9:24:45)



Ответ на: комментарий от darkenshvein 12.01.2015 9:23:44

> ещё один фанатик шланга?

Как-будто что-то плохое.
maverik (12.01.2015 9:25:24)



Ответ на: Ядро Linux проверено проприетарным статическим анализатором от makoven 12.01.2015 2:33:02
Re: Ядро Linux проверено проприетарным статическим анализатором

> Это вообще законно!?

Хаха, это вообще приветствуется. Миллионы зорких глаз читают код днём и ночью... не сказано, только ли опенсорсных.
anonymous (12.01.2015 9:27:24)



Я смотрю,у некоторых особо упоротых баттхёрт по поводу того, что проприетарный продукт нашёл ошибки в вашем открытом коде... Т.е. лучше бы они остались, эти ошибки?! Зато девственность[s/] не порушена!
anonymous (12.01.2015 9:30:20)



Ответ на: комментарий от anonymous 12.01.2015 9:30:20

процентов 80 из того, что он нашел - не ошибки ни разу, а упоротая паранойя.
anonymous (12.01.2015 9:50:27)



Важные ошибки нашли. Спасибо, поржал.
ttnl (12.01.2015 10:00:22)



Ответ на: комментарий от anonymous 11.01.2015 23:34:51

Очнись, анонимус, ты же и есть тысячи людей!
kir64 (12.01.2015 10:13:58)



> Краткие результаты: ошибки и уязвимости присутсвуют, и их много.

Его в первый раз проверяли утилитой такого рода?
Rinaldus (12.01.2015 10:23:11)



не так страшен черт, как его малютка
kto_tama (12.01.2015 10:38:17)



Ответ на: комментарий от anonymous 12.01.2015 9:50:27

Чем меньше неоднозначного кода, тем меньше плавающих глюков.
Radjah (12.01.2015 10:45:00)



Ответ на: Ядро Linux проверено проприетарным статическим анализатором от makoven 12.01.2015 2:33:02

> !?

Наоборот же.
anonymous (12.01.2015 10:58:50)



Ответ на: комментарий от anonymous 12.01.2015 10:58:50

> Наоборот же.

makoven англичанин же. По крайней мере, точно не русский.
anonymous (12.01.2015 11:10:23)



Ответ на: комментарий от anonymous 12.01.2015 4:07:39

> большая часть из которых вообще никак на реальную работу программы не влияет

А потом у них пароли утекают. Адепты дуршлака.
anonymous (12.01.2015 11:13:57)



Ответ на: Мы уверенно движемся в никуда от MAGNet 12.01.2015 8:15:56

Выключай оптимизации компилятора и покажи класс.
anonymous (12.01.2015 11:17:24)



Ответ на: комментарий от anonymous 12.01.2015 9:50:27

> упоротая паранойя
> 2015

Вылезай из криокамеры, друг.
anonymous (12.01.2015 11:19:50)



Интересно сколько в процентном соотношении ошибок найденных этой Студией так же успешно исправляется самим компилятором на этапе компияции.
Gannet (12.01.2015 11:26:55)



Ответ на: комментарий от Shaman007 11.01.2015 23:58:44

Тем не менее это в первую очередь именно пиар.
asaw (12.01.2015 11:30:14)



РЕШЕТО!

По-видимости, единственная цель опен-соур анализаторов - скрыть от красноглазиков многочисленные бэкдоры и уязвимости.
anonymous (12.01.2015 11:32:32)



Ответ на: комментарий от anonymous 12.01.2015 11:17:24

всё так, но при пересборке, например, оптимизация включена. соль в том, что умные люди всё оптимизируют ручками, а компилятор после сводит всё на нет и делает в этих местах дырки. тут либо полностью полагаться на компилятор, либо не делать настройки «для дебила» дефолтными, либо ещё что-нибудь.. короче, оптимизация оптимизаторов дошла до оптимального уровня идеотизма
MAGNet (12.01.2015 11:34:57)



Ответ на: комментарий от anonymous 12.01.2015 11:32:32

> цель опен-соур анализаторов

Открытый кислый раствор анализаторов?
anonymous (12.01.2015 11:35:03)



> Инсайдерская информация: разработчики PVS Studio без зазрения совести используют русский язык в проекте, в частности, делают описание диагностик на родном языке, чтобы уменьшить сложность разработки (пруф).

Это по их рунглишу видно.
asaw (12.01.2015 11:36:41)



Ответ на: комментарий от gns 12.01.2015 1:02:16

Зачем уродоваться над новым продуктом? Лучше впилить в gcc в качестве расширения варнингов.
A-234 (12.01.2015 11:39:06)



> pointer was utilized before it was verified against nullptr

Это проблема???


а если писать программы с использованием буса и многоэтажных шаблонов со смартпоинтерами - справится этот анализатор? или все будет ок?
dinama (12.01.2015 11:40:29)



Ответ на: комментарий от EXL 12.01.2015 1:25:02

http://www.viva64.com/ru/b/ не блогадари.
anonymous (12.01.2015 11:42:05)



> if (phy->rev >= 2) {
> } else if (phy->rev >= 6)

вот это школоло конечно..
dinama (12.01.2015 11:44:41)



Ответ на: Ядро Linux проверено проприетарным статическим анализатором от makoven 12.01.2015 2:33:02
Re: Ядро Linux проверено проприетарным статическим анализатором

Что здесь незаконного, придурок?
anonymous (12.01.2015 11:50:23)



Ответ на: комментарий от darkenshvein 12.01.2015 9:23:44

Когда весь передовой мир им компиляется, тупые ляликсоиды воротят от него нос. Он такие ошибки на раз-два показывает
anonymous (12.01.2015 11:53:07)



Ответ на: Не нужно от Meyer 12.01.2015 8:58:55

Они себе пиар делают. Причём очень годным способом, на мой взгляд.
Dark_SavanT (12.01.2015 11:53:29)



Ответ на: комментарий от maverik 12.01.2015 9:24:45

> Чтобы уменьшить сложность разработки чего? PVS?

Да.
Xintrea (12.01.2015 11:54:23)



Ответ на: комментарий от Rinaldus 12.01.2015 10:23:11

> Его в первый раз проверяли утилитой такого рода?

Нет, его постоянно прогоняют через Coverity.
Xintrea (12.01.2015 11:56:03)



Ответ на: комментарий от dinama 12.01.2015 11:40:29

Таки проблема. Они же пишут, что анализатор ругается только в случаях когда сначала разыменовали, а потом на null проверили. А раз в год и segfault может вылелеть когда не надо. А ты ищи его по стрипнутому ядру с -Os
Dark_SavanT (12.01.2015 11:56:38)



Ответ на: комментарий от anonymous 12.01.2015 11:13:57

> Адепты дуршлака.

Надо запомнить такой оборот.
Radjah (12.01.2015 11:57:30)



Хороший тест для самой PVS, ну и реклама.
robot12 (12.01.2015 11:59:48)



Да, хоть и голимая проприетарщина, но какой-то смысл от этой "студии" есть.
Eddy_Em ☆☆☆☆☆ (12.01.2015 12:05:30)



И вообще,

они нашли, где в коде ведра 12309 вылезает?

Доколе будет продолжаться?
Eddy_Em ☆☆☆☆☆ (12.01.2015 12:07:43)



Уровень этих спецов заставляет задуматься о целесообразности использования их продукта. Смотрю в отчет: Опасное использование функции memcmp(). К чему эти клоуны привязались:

> Обратите внимание на оператор 'return' в самом конце тела функции.

Какой ужос! Галактека опасносте!

> Обратите внимание:

> «> 0», означает любые числа, а вовсе не 1; «< 0», это не обязательно -1.

Бобры могут смело выдыхать, так как мы конпеляем ядро а не проект под вантуз, это значит что никаких неожиданностей с реализацией memcmp быть не может, мы ее сами ручками реализовываем. Есть вопросы - копайте код. Но раз до кода руки у икспертов не дошли я не гордый, могу сам. И что мы видим - вызов в цикле

    if ((res = *su1 - *su2) != 0)
            return res;

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

> Возвращаемыми значениями могут быть: -100, 2, 3, 100, 256, 1024, 5555 и так далее. ... В результате неявного приведения типа могут быть отброшены значащие биты, что приведет к нарушению логики выполнения программы.

Судя по последним цифирям авторы не своим делом занимаются. Но вернемся к коду. Так где используют эту опасную функцию? Только в одном месте:

if (eprom_try_esi(...,1)) return;
(void) eprom_try_esi(...,0);

Доверчивая общественность напугана, линукс в глазах бухгалтерш повержен.

A-234 (12.01.2015 12:08:19)
Последнее исправление: A-234 12.01.2015 12:11:59 (всего исправлений: 1)



Да это же

РЕШЕТО!!!
anonymous (12.01.2015 12:09:06)



Ответ на: комментарий от A-234 12.01.2015 12:08:19

" if ((res = *su1 - *su2) != 0) return res;"

Быдлокодер детектед. За такое вообще надо убивать на месте. А он тут оправдывает функцию, которая может ничего не возвратить.
anonymous (12.01.2015 12:15:03)



Ответ на: комментарий от anonymous 12.01.2015 11:19:50

дадада. давай, расскажи ещё про «опасность» сдвига вправо отрицательного числа.
anonymous (12.01.2015 12:16:44)



Ответ на: комментарий от Dark_SavanT 12.01.2015 11:56:38

> Таки проблема

таки да. я на автомате перевел unilized как у ничтожен (free)
dinama (12.01.2015 12:20:34)



Какая неприкрытая реклама. Они всех достали на хабре, теперь и сюда добрались.
anonymous (12.01.2015 12:22:08)



> Цель статьи - реклама PVS-Studio

ты свои 50 копеек за рекламу уже получил? иначе нафига ты это припёр?
false (12.01.2015 12:25:09)



Ответ на: комментарий от anonymous 12.01.2015 12:22:08

+1
false (12.01.2015 12:25:24)



Ответ на: комментарий от prizident 12.01.2015 7:09:56

в других странах мудаков различных мастей и пород сжигают в крематориях?
anonymous (12.01.2015 12:30:32)



Ответ на: комментарий от alegz 12.01.2015 6:30:25

> Врёшь. Про знак ЛЕВОГО операнда при сдвиге ВЛЕВО там ничего не сказано.

Ну да, конечно.

> The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits are filled with zeros. If E1 has an unsigned type, the value of the result is E1 × 2^E2, reduced modulo one more than the maximum value representable in the result type. If E1 has a signed type and nonnegative value, and E1 × 2^E2 is representable in the result type, then that is the resulting value; otherwise, the behavior is undefined.

AptGet (12.01.2015 12:33:05)



Ответ на: комментарий от anonymous 12.01.2015 12:30:32

В биореакторах. Крематории - нерациональное использование энергии.
anonymous (12.01.2015 12:33:30)



Да, это пеар. Да, многие указания на ошибки — параноидальны.

Но вот количество анальной боли фанатиков ИТТ веселит.
kike (12.01.2015 12:35:30)



И сюда добрались

Эти ребята уже пол-хабра засыпали самовосхвалительными статьями, теперь и здесь будут спамить. Нашли себе новую бесплатную рекламную площадку, называется. Готовьтесь, теперь каждую неделю будут что-нибудь «проверять» и строчить сюда пафосные новости.
anonymous (12.01.2015 12:38:17)



Полетели какашки из окопов. :-)
Michail_Ul (12.01.2015 12:42:42)



> Краткие результаты: ошибки и уязвимости присутсвуют, и их много

Что и следовало ожидать. Just for fun.
bbk123 ★★★★☆ (12.01.2015 12:44:29)



Ответ на: комментарий от anonymous 11.01.2015 23:36:24

А не все-ли равно, главное, что в выхлопе весьма полезный отчет, на основе которого можно лепить патчи.
t500s (12.01.2015 12:57:33)



Ответ на: комментарий от dinama 12.01.2015 11:40:29

>     pointer was utilized before it was verified against nullptr

> Это проблема???

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

> а если писать программы с использованием буса и многоэтажных шаблонов со смартпоинтерами - справится этот анализатор? или все будет ок?

Анализатор анализирует не исходники, а выхлоп препроцессора.
anonymous (12.01.2015 13:05:43)



Половина ошибок false-positive небось.

Интересно, сколько времени потрачено на перелопачивание отчетов этого поделия для одной версии ядра?
geks (12.01.2015 13:06:20)



Прогнал их демку по одному из проектов фирмы - ~90% false positive. Производит больше шума чем находит реальный проблем.

Так что пока остаётся cppcheck
anonymous (12.01.2015 13:07:03)



Ответ на: комментарий от A-234 12.01.2015 12:08:19

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

Осталось не забыть уговорить компилятор не использовать встроенный memcmp и золотой ключик у нас в кармане.
AptGet (12.01.2015 13:09:30)



Пусть прогонят свое поделие на утекших когда-то исходниках NT.
anonymous (12.01.2015 13:10:53)



Ответ на: И вообще, от Eddy_Em 12.01.2015 12:07:43

12309 - это насколько мне подсказывает опыт, набор косяков как железных так и софтовых, связанных с IO-scheduling при скидывании буферов на относительно медленное дисковое устройство.
Dark_SavanT (12.01.2015 13:11:07)



Ответ на: комментарий от anonymous 12.01.2015 13:07:03

> Прогнал их демку по одному из проектов фирмы - ~90% false positive. Производит больше шума чем находит реальный проблем.

Судя по статье про Miranda, там все крики настраиваются.
Radjah (12.01.2015 13:12:08)



Уже было. Снести за оффтопик либо в Talks.
RADDyomin (12.01.2015 13:16:50)



Ответ на: комментарий от bbk123 12.01.2015 12:44:29

>     Краткие результаты: ошибки и уязвимости присутсвуют, и их много

> Что и следовало ожидать. Just for fun.

Во-первых, сами люди из PVS о «много» не говорили, просто новость написана скорбным на голову поцреотом; во-вторых, а ты сравнивал количество ошибок в Linux с количеством ошибок в каком-нибудь проекте, написанном за деньги?
tailgunner (12.01.2015 13:19:47)



Ответ на: комментарий от punya 12.01.2015 1:05:05

> У нормальных компаний такого не случается, они поворачиваются лицом к опен сорсным продуктам.

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

Опять же, выгоднее подсадить на свою ИДЕ, а потом продавать плюшки. С анализатором так сложнее, наверное.
DarkEld3r (12.01.2015 13:20:07)



Ответ на: комментарий от funeralismatic 12.01.2015 3:00:16

> Вот опенсорцнут своё поделие, тогда и будем.

Толсто.
DarkEld3r (12.01.2015 13:22:20)



Ответ на: комментарий от anonymous 12.01.2015 11:53:07

да, это уберфича, и это умеет только кланг)
darkenshvein (12.01.2015 13:23:25)



Ответ на: комментарий от anonymous 12.01.2015 13:05:43

да разобрались уже. все верно.
dinama (12.01.2015 13:24:54)



Ответ на: комментарий от anonymous 12.01.2015 4:07:39

> Разработчики бросают действительно важные дела и начинают фиксить какие-то ворнинги

После того как анализатор тыкнет в конкретное место, да ещё и пояснит в чём проблема, пофиксить «проблему» (пусть и малосущественную) может даже неопытный разработчик. Патчи ведь засылать можно. Для кого-то это может стать стимулом разобраться в ядре.

> ак метко подметили в одном из проектов, на которых пытался пиариться сабж, эта «помощь» сродни бесплатной футболке, за получением которой нужно ехать в соседний город

Ну хз. Помню в каком-то проекте вообще сказали, что-то в духе «УМВР» на явные проблемы. Я поверхностно пользовался этим анализатором (ещё когда не было текущих ограничений в пробной версии). Определённая польза была.
DarkEld3r (12.01.2015 13:26:23)



Ответ на: Мы уверенно движемся в никуда от MAGNet 12.01.2015 8:15:56

> Обратите внимание, что 95% ошибок связано с тем, что «компилятор решит, что.. и сделает по-своему».

пиши в машинных кодах, будь мужиком
shty (12.01.2015 13:28:32)



Ответ на: Мы уверенно движемся в никуда от MAGNet 12.01.2015 8:15:56
Re: Мы уверенно движемся в никуда

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

Странный вывод. Готов спорить, что про многие тонкие моменты сишки ты сходу ответить не сможешь. «Затачивать под дебилов» - это когда нельзя сделать шаг в сторону от задуманного. А когда тебя предупреждают о возможных проблемах, но можно сказать «я знаю, что делаю» - это очень здорово. Ошибаться любой может.
DarkEld3r (12.01.2015 13:29:43)



Ответ на: комментарий от AptGet 12.01.2015 13:09:30

Копайте makefile если вопросы остались, но в приведенном коде memcmp должен сказать обнулены 6 байт или нет. На знак покласть.
A-234 (12.01.2015 13:31:43)



Ответ на: комментарий от dinama 12.01.2015 11:40:29

> а если писать программы с использованием буса и многоэтажных шаблонов со смартпоинтерами - справится этот анализатор?

Что значит справится? Проблемы найдёт, другое дело, что там многое заточенно под конкретные случаи. То есть какие-то бустово-специфичные проблемы найдены, естественно, не будут.
DarkEld3r (12.01.2015 13:33:15)



Ответ на: комментарий от anonymous 12.01.2015 13:07:03

> Прогнал их демку по одному из проектов фирмы - ~90% false positive.

Они сами об этом постоянно говорят и акцентируют внимание, что польза будет от постоянных проверок. То есть в идеале разобрали все «проблемы» (или просто заигнорировали), в результате от последующих проверок будет больше пользы: меньше шума и больше реальных проблем.
DarkEld3r (12.01.2015 13:37:39)



Ответ на: комментарий от anonymous 12.01.2015 4:07:39

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

Среди кучи неважных ворнингов легко пропустить важные, поэтому лучше сразу вычищать.
anonymous (12.01.2015 13:42:03)



12309 не нашли?
ну и нафига тогда было вообще эту проприетарную поделку запускать?
haku (12.01.2015 13:48:50)



Ответ на: комментарий от geks 12.01.2015 13:06:20

> Интересно, сколько времени потрачено на перелопачивание отчетов этого поделия для одной версии ядра?

Пишут, что 6 часов, не считая собственно работы программы в фоне.
question4 (12.01.2015 13:49:11)



Ответ на: комментарий от Xintrea 11.01.2015 23:39:14

Coverity уже лет 15 тем же занимается. В ядре от них сотни патчей.
anonymous (12.01.2015 13:50:10)



Ответ на: комментарий от punya 12.01.2015 0:40:06

Гы, а Coverity за количество строк кода деньги берет.
anonymous (12.01.2015 13:51:43)



Ответ на: комментарий от MAGNet 12.01.2015 11:34:57

При какой пересборке? Отключи и собирай я тебе говорю, напиши крутой код.
anonymous (12.01.2015 14:14:43)



Ответ на: комментарий от RADDyomin 12.01.2015 13:16:50

успокойся, школьничек. об ошибках сообщили, начали слать патчи, а от тебя вклад просто нулевой
anonymous (12.01.2015 14:20:57)




Вы не можете добавлять комментарии в эту тему. Тема удалена.

 


К списку "Компьютерное"

Интересное на сайте


Система контроля версий GIT » Как перенести локальный GIT-репозитарий на сервер вместе со всей историей

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


KDE 4 » Классическая тема оформления Redmond 125% для KDE 4

Мне часто приходится работать как в Linux, так и в Microsoft Windows. Моторные навыки наработаны годами, и для быстрой и точной работы необходимо имет...


Платформа 1C:Предприятие » Установка сервера 1С 8.2 под Linux. Борьба с ошибкой "Error: service failed to start!"

Недавно устанавливал сервер 1С:Предприятие 8.2.15.319 в операционной системе CentOs 5.5. Вылезла проблема, на которую натыкаются многие системные адми...

RSS подписка

Подпишитесь на новости сайта по RSS


О, смотри-ка какое хорошее место. Дайте два!

Внимание!

На этом сайте разрабатывается программа MyTetra и её родственные проекты.

Доступны к просмотру следующие базы знаний:

База Xintrea (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик