Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта

Andrey Karpov
Дата: 08.10.2014 16:13:17
Давай поиграем в игру: http://www.viva64.com/ru/b/0280/
MasterZiv
Дата: 08.10.2014 16:15:45
Andrey Karpov,

А что там у вас с linux-версией ?
Andrey Karpov
Дата: 08.10.2014 17:33:08
С Linux версией всё хорошо, да спроса нет. Пример использования: http://habrahabr.ru/company/pvs-studio/blog/238493/
Dimitry Sibiryakov
Дата: 08.10.2014 17:34:44

Andrey Karpov
Давай поиграем в игру

Это не интересная игра. Если ты хочешь устроить настоящее соревнование между своим софтом
и живыми программистами, попробуй следующее: напусти свою софтину на код Firebird (что
ваша контора уже делала, впрочем) и посмотри, найдёт ли она где в этом коде скрывается,
например, CORE-4382.

Posted via ActualForum NNTP Server 1.5

Sheraton
Дата: 08.10.2014 17:47:31
Andrey Karpov
С Linux версией всё хорошо, да спроса нет. Пример использования: http://habrahabr.ru/company/pvs-studio/blog/238493/


А как скачать демо для Linux?
mayton
Дата: 08.10.2014 18:51:21
Давайте топик превратим в конкурс а кто придумает обмануть анализатор.
MasterZiv
Дата: 09.10.2014 09:25:10
mayton,

Не, не думаю, что это интересно.
White Owl
Дата: 09.10.2014 18:34:02
MasterZiv
mayton,

Не, не думаю, что это интересно.
Ну почему-же... Придумать кусок кода который будет не правильным по сути, но правильным с точки зрения анализатора, или наоборот. Это очень интересные задачи.
Вот только практическая ценность этой "игры" в первую очередь для создателей этого самого анализатора. Участники "игры" по существу станут изобретать тест-кейсы для анализатора. То есть бесплатно выполнять работу за которую официальные разработчики программы деньги получают...
Был бы это открытый проект - можно было бы поучаствовать. Но тут коммерческий проект, а значит пошли они куда подальше.
Dima T
Дата: 09.10.2014 18:38:02
White Owl
Но тут коммерческий проект, а значит пошли они куда подальше.

Надо писать "пусть предложат интересное вознаграждение".
mayton
Дата: 09.10.2014 18:45:13
В самом первом примере идёт обращение к
salt[3]=

неаллоцированному элементу. Гавно-вопрос. Константа мать ее так. Далее.
Весьма полезно что в данном примере используется функция rand.
Далее. Коварным образом.

salt[(int)((3ul*rand())/MAX_INT)]=


Будет ли анализатор видеть здесь дефект?

А если 3ul заменить на 4ul ?