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

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

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

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

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


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

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



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

А если 3ul заменить на 4ul ?
...
Рейтинг: 0 / 0
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
    #38772498
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlПридумать кусок кода который будет не правильным по сути, но правильным с точки зрения анализатора, или наоборот. Это очень интересные задачи.
Выше я привёл ссылку на багреп. Типичная ситуация: разработчик выделил ресурс в одном месте, корректно его освободил в другом, но в промежутке просто забыл написать одно из действий, ради которого (в том числе) ресурс, собственно, и выделялся. Как анализатор может протелепать цель кода чтобы заметить недописанный кусок - у меня идей нет.
...
Рейтинг: 0 / 0
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
    #38772931
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
    #38772947
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PPAпока остается отрытая нерешенная проблема - как ловить Dead Lock у конечных пользователей
и сообщать об это разработчикам.
если кто встречал решения - поделитесь.
Что такое дедлок с точки зрения ОС ? Может ли она его видеть как слишком длительную
занятость семафорчиков, защёлок и прочих штук? Если да - то наверное о дедлоке
можно репортить. С точки зрения приложения - ХЗ.
...
Рейтинг: 0 / 0
Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
    #38773689
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PPAпока остается отрытая нерешенная проблема - как ловить Dead Lock у конечных пользователей
и сообщать об это разработчикам.
если кто встречал решения - поделитесь.Ну как ловить у конечных пользователей не знаю, а как ловить на тестовой станции знаю.
Пишешь свою библиотеку мютексов-семафоров, добавляешь туда что на каждую операцию с замком в лог скидывалось как можно более полная информация о том кто лезет к замку. Ставишь отдельный таймер на каждый замок и когда он превышает некий таймаут выдаешь предупреждение мол такой-то процесс держит замок слишком долго, а в очереди сидят такие-то процессы.
Подменяешь системные вызовы этой библиотекой и запускаешь свое приложение.
Помогает конечно все равно не всегда, да и тормозить все изрядно начинает, но пару раз, я так отлавливал источники дедлоков.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Приглашаю попробовать свои силы: найди ошибку в коде известного open-source проекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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