Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта / 14 сообщений из 14, страница 1 из 1
08.10.2014, 16:13
    #38770625
Andrey Karpov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
Давай поиграем в игру: http://www.viva64.com/ru/b/0280/
...
Рейтинг: 0 / 0
08.10.2014, 16:15
    #38770631
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
Andrey Karpov,

А что там у вас с linux-версией ?
...
Рейтинг: 0 / 0
08.10.2014, 17:33
    #38770737
Andrey Karpov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
С Linux версией всё хорошо, да спроса нет. Пример использования: http://habrahabr.ru/company/pvs-studio/blog/238493/
...
Рейтинг: 0 / 0
08.10.2014, 17:34
    #38770740
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
Andrey KarpovДавай поиграем в игру
Это не интересная игра. Если ты хочешь устроить настоящее соревнование между своим софтом
и живыми программистами, попробуй следующее: напусти свою софтину на код Firebird (что
ваша контора уже делала, впрочем) и посмотри, найдёт ли она где в этом коде скрывается,
например, CORE-4382 .
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.10.2014, 17:47
    #38770749
Sheraton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
Andrey KarpovС Linux версией всё хорошо, да спроса нет. Пример использования: http://habrahabr.ru/company/pvs-studio/blog/238493/

А как скачать демо для Linux?
...
Рейтинг: 0 / 0
08.10.2014, 18:51
    #38770825
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
Давайте топик превратим в конкурс а кто придумает обмануть анализатор.
...
Рейтинг: 0 / 0
09.10.2014, 09:25
    #38771200
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
mayton,

Не, не думаю, что это интересно.
...
Рейтинг: 0 / 0
09.10.2014, 18:34
    #38772254
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
MasterZivmayton,

Не, не думаю, что это интересно.Ну почему-же... Придумать кусок кода который будет не правильным по сути, но правильным с точки зрения анализатора, или наоборот. Это очень интересные задачи.
Вот только практическая ценность этой "игры" в первую очередь для создателей этого самого анализатора. Участники "игры" по существу станут изобретать тест-кейсы для анализатора. То есть бесплатно выполнять работу за которую официальные разработчики программы деньги получают...
Был бы это открытый проект - можно было бы поучаствовать. Но тут коммерческий проект, а значит пошли они куда подальше.
...
Рейтинг: 0 / 0
09.10.2014, 18:38
    #38772259
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
White OwlНо тут коммерческий проект, а значит пошли они куда подальше.
Надо писать "пусть предложат интересное вознаграждение".
...
Рейтинг: 0 / 0
09.10.2014, 18:45
    #38772267
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
В самом первом примере идёт обращение к
Код: plaintext
1.
salt[3]=


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

Код: plaintext
1.
salt[(int)((3ul*rand())/MAX_INT)]=



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

А если 3ul заменить на 4ul ?
...
Рейтинг: 0 / 0
10.10.2014, 01:35
    #38772498
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
White OwlПридумать кусок кода который будет не правильным по сути, но правильным с точки зрения анализатора, или наоборот. Это очень интересные задачи.
Выше я привёл ссылку на багреп. Типичная ситуация: разработчик выделил ресурс в одном месте, корректно его освободил в другом, но в промежутке просто забыл написать одно из действий, ради которого (в том числе) ресурс, собственно, и выделялся. Как анализатор может протелепать цель кода чтобы заметить недописанный кусок - у меня идей нет.
...
Рейтинг: 0 / 0
10.10.2014, 11:59
    #38772931
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
maytonВ самом первом примере идёт обращение к
Код: plaintext
1.
salt[(int)((3ul*rand())/MAX_INT)]=



Будет ли анализатор видеть здесь дефект?
А если 3ul заменить на 4ul ?

Я использую PVS Studio и он хорошо помогает ловить ошибки.
но имхо статический анализатор такой закус не сможет увидеть.
на то он и статический... (проверил в pvs и cppcheck)

Для детекта такого нужно использовать что-то типа valgrind
они ловят в рантайме нарушения доступа и к сожалению под винду (visual c++) бесплатного аналога
я не знаю... если кто встречал - расскажите.

но даже это все не позволит писать безглючный софт :)
я это понял когда стал использовать краш-репортеры
в итоге под VC++ остановился на https://drdump.com
он помог найти множество ошибок именно у конечного пользователя
которые никогда не повторяются на системе разработчика.
(другие ресурсы компа, версия софта, вирусня и т.д.)


пока остается отрытая нерешенная проблема - как ловить Dead Lock у конечных пользователей
и сообщать об это разработчикам.
если кто встречал решения - поделитесь.
...
Рейтинг: 0 / 0
10.10.2014, 12:04
    #38772947
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
PPAпока остается отрытая нерешенная проблема - как ловить Dead Lock у конечных пользователей
и сообщать об это разработчикам.
если кто встречал решения - поделитесь.
Что такое дедлок с точки зрения ОС ? Может ли она его видеть как слишком длительную
занятость семафорчиков, защёлок и прочих штук? Если да - то наверное о дедлоке
можно репортить. С точки зрения приложения - ХЗ.
...
Рейтинг: 0 / 0
10.10.2014, 18:47
    #38773689
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
PPAпока остается отрытая нерешенная проблема - как ловить Dead Lock у конечных пользователей
и сообщать об это разработчикам.
если кто встречал решения - поделитесь.Ну как ловить у конечных пользователей не знаю, а как ловить на тестовой станции знаю.
Пишешь свою библиотеку мютексов-семафоров, добавляешь туда что на каждую операцию с замком в лог скидывалось как можно более полная информация о том кто лезет к замку. Ставишь отдельный таймер на каждый замок и когда он превышает некий таймаут выдаешь предупреждение мол такой-то процесс держит замок слишком долго, а в очереди сидят такие-то процессы.
Подменяешь системные вызовы этой библиотекой и запускаешь свое приложение.
Помогает конечно все равно не всегда, да и тормозить все изрядно начинает, но пару раз, я так отлавливал источники дедлоков.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]