Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
Сразись с анализатором PVS-Studio в поиске ошибок! 🆚
Мы выбрали 10 фрагментов кода, в которых наш анализатор нашел ошибки. Все они взяты из известных Open-Source проектов
Скорее переходи на наш новый Java-квиз и проверь, насколько ты внимательный 🔎
Так же у нас есть квизы для C++ и C# программистов
#Квиз_PVS
Мы выбрали 10 фрагментов кода, в которых наш анализатор нашел ошибки. Все они взяты из известных Open-Source проектов
Скорее переходи на наш новый Java-квиз и проверь, насколько ты внимательный 🔎
Так же у нас есть квизы для C++ и C# программистов
#Квиз_PVS
Pvs-Studio
PVS-Studio: Java quiz
Испытай свою внимательность при поиске багов в коде.
Forwarded from GDG Tashkent (Sarvinoz Maksudova 🌾)
⚡️Осторожно: розыгрыш билетов!
💡Startup Weekend - это пре-акселетраторская программа, которая помогает участникам запустить свой стартап за 3 дня. В течение 54 часов участники смогут собрать команду, получить необходимые знания и инструменты для разработки своего стартапа.
❗️Именно этот Startup Weekend будет Women Edition и в нем могут участвовать исключительно девушки.
🥁Для наших подписчиков мы разыгрываем 5 билетов.
Условия просты (только девушкам):
✅подписаться на нашу страницу (@gdgtashkent )
✅ подписаться на страницу (@swtashkent)
✅отметить 3 друзей под этим постом
📝написать #startupmustgoon в комментариях
🔍 Конкурс проходит в Инстаграмме
🔥Не упустите эту возможность! Возможно именно вы станете обладателем заветного билета.
🎫 Билеты будут разыграны 18 мая в 21:00.
@gdgtashkent
💡Startup Weekend - это пре-акселетраторская программа, которая помогает участникам запустить свой стартап за 3 дня. В течение 54 часов участники смогут собрать команду, получить необходимые знания и инструменты для разработки своего стартапа.
❗️Именно этот Startup Weekend будет Women Edition и в нем могут участвовать исключительно девушки.
🥁Для наших подписчиков мы разыгрываем 5 билетов.
Условия просты (только девушкам):
✅подписаться на нашу страницу (@gdgtashkent )
✅ подписаться на страницу (@swtashkent)
✅отметить 3 друзей под этим постом
📝написать #startupmustgoon в комментариях
🔍 Конкурс проходит в Инстаграмме
🔥Не упустите эту возможность! Возможно именно вы станете обладателем заветного билета.
🎫 Билеты будут разыграны 18 мая в 21:00.
@gdgtashkent
Forwarded from Agile Uzbekistan news (Наталья Ни | Узбекистан)
Собираемся на тусовку @AgileUzbekistanCom и @Productcommunityuz!
🔥🔥🔥🔥🔥
24 мая в баре Gravity с 19:30 состоится встреча проджектов и продактов в Узбекистане!
Зачем?
Встреча организовывается для нетворкинга: приходи, знакомься и расширяй свою сеть нетворкинга в IT сфере!
Для регистрации требуется заполнить форму по ссылке и оплатить 100.000 сум.
Оплата по карте: 8600530412286489 до 22 мая (Скрин о переводе @ni_nataly)
В стоимость входит на выбор боул или бургер из меню (либо боул, либо бургер).
Вход строго по списку, проверяться будет на входе в Gravity.
До встречи на весенней встрече проджектов и продактов в баре Gravity!
🔥🔥🔥🔥🔥
24 мая в баре Gravity с 19:30 состоится встреча проджектов и продактов в Узбекистане!
Зачем?
Встреча организовывается для нетворкинга: приходи, знакомься и расширяй свою сеть нетворкинга в IT сфере!
Для регистрации требуется заполнить форму по ссылке и оплатить 100.000 сум.
Оплата по карте: 8600530412286489 до 22 мая (Скрин о переводе @ni_nataly)
В стоимость входит на выбор боул или бургер из меню (либо боул, либо бургер).
Вход строго по списку, проверяться будет на входе в Gravity.
До встречи на весенней встрече проджектов и продактов в баре Gravity!
Forwarded from Никита Палагин
Meetup: Обеспечение качества vs тестирование
20 мая 16:00 в IT Park Tashkent состоится митап на тему "Обеспечение качества vs тестирование". В ходе мероприятии поговорим об обеспечении качества и чем оно отличается от тестирования.
Спикером мероприятия выступит Мария Палагина - эксперт в области обеспечения качества, которая поделится своим опытом и знаниями.
Участие бесплатное, однако необходима предварительная регистрация.
Адрес: IT Park Tashklent
Регистрируйтесь по ссылке: https://forms.gle/cpeMe38K6s2RwvTFA
20 мая 16:00 в IT Park Tashkent состоится митап на тему "Обеспечение качества vs тестирование". В ходе мероприятии поговорим об обеспечении качества и чем оно отличается от тестирования.
Спикером мероприятия выступит Мария Палагина - эксперт в области обеспечения качества, которая поделится своим опытом и знаниями.
Участие бесплатное, однако необходима предварительная регистрация.
Адрес: IT Park Tashklent
Регистрируйтесь по ссылке: https://forms.gle/cpeMe38K6s2RwvTFA
Опубликовал мини-книгу "60 антипаттернов для С++ программиста". Приятного чтения.
Всё одновременно в шутку и серьёзно. Как бы глупо ни смотрелся вредный совет, он не выдуман, а подсмотрен в реальном мире программирования.
Ещё скоро выйдет расширенный бумажный вариант. Но это уже другая история.
---
EN: "60 terrible tips for a C++ developer".
Всё одновременно в шутку и серьёзно. Как бы глупо ни смотрелся вредный совет, он не выдуман, а подсмотрен в реальном мире программирования.
Ещё скоро выйдет расширенный бумажный вариант. Но это уже другая история.
---
EN: "60 terrible tips for a C++ developer".
🔥7❤1👍1
Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
Всего за 8 минут проект собрал в 13 раз больше заявленной суммы на инвестиционной площадке KickStarter. Обзоры их продукта собирают миллионы просмотров на англоязычном YouTube. Только в их каталоге вы найдете легендарную олдскульную игру по мотивам мультфильма «Ну погоди!».
Представляем вашему вниманию интервью с разработчиками Flipper Zero! https://pvs-studio.ru/ru/blog/posts/1075/
Представляем вашему вниманию интервью с разработчиками Flipper Zero! https://pvs-studio.ru/ru/blog/posts/1075/
PVS-Studio
Интервью с разработчиками мультитула для хакеров и пентестеров Flipper Zero
Flipper Zero — карманный мультитул для гиков, сокровище для пентестеров, ваш собственный кибер-зверёк. Возможности девайса ограничиваются только вашим воображением и сноровкой.
Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
Команда PVS-Studio подготовила для вас необычный конкурс!
Связан он с вашими эпичными или мемными фейлами при написании кода. Это тот случай, когда за ошибку вы получите не нагоняй от тимлида, а крутой подарок!
Все подробности по ссылке https://habr.com/ru/companies/pvs-studio/articles/775388/
Связан он с вашими эпичными или мемными фейлами при написании кода. Это тот случай, когда за ошибку вы получите не нагоняй от тимлида, а крутой подарок!
Все подробности по ссылке https://habr.com/ru/companies/pvs-studio/articles/775388/
Хабр
Конкурс для C++ программистов и их любимых багов
Привет всем крутым C и С++ разработчикам! Команда PVS-Studio на связи. Новый год не за горами, поэтому мы подготовили вам новый конкурс с призами! Все мы люди, всем свойственно ошибаться. Обычно за...
🔥1
Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
Тук-тук… А мы с новостями! Да еще с какими!
Рады сообщить, что совсем скоро вас ждет интересный вебинар. Мы расскажем, как с помощью статического анализатора кода PVS-Studio избежать ошибки на проде и постоянные задержки релиза.
Вебинар пройдет 1 февраля в 14:00 📌
Зарегистрироваться можно по ссылке - https://pvs-studio.ru/ru/webinar/
Ждём вас! 😉
Рады сообщить, что совсем скоро вас ждет интересный вебинар. Мы расскажем, как с помощью статического анализатора кода PVS-Studio избежать ошибки на проде и постоянные задержки релиза.
Вебинар пройдет 1 февраля в 14:00 📌
Зарегистрироваться можно по ссылке - https://pvs-studio.ru/ru/webinar/
Ждём вас! 😉
🔥3
Решил переиспользовать старый канал, посвящённый мероприятиям программистов. Буду размещать здесь свои наблюдения из мира программирования, багов, языка C++ и качества кода. А чтобы быть в курсе предстоящих конференций, приглашаю посетить специализированный раздел нашего сайта Мероприятия для программистов.
👍2
Подал заявку на конференцию SafeCode, посвящённую инструментами и практике безопасной разработки. В ходе демонстрационного доклада программный комитет усомнился, что ошибка использования memset, действительно была найдена нами в LLVM :). Не верится, что разработчики компилятора, могут местами аргументы функции перепутать. Могут. Сейчас нашёл старую публикацию и соответствующий commit с правкой бага. Вставлю в презентацию в качестве proof-а :)
Даже высококвалифицированные разработчики не застрахованы от простых ошибок и опечаток.
Даже высококвалифицированные разработчики не застрахованы от простых ошибок и опечаток.
🔥5👍2
Не люблю макросы по разным причинам. Одна из них, что они сильно разрывают восприятие программы. Вот хороший пример сейчас встретил в проекте DPDK: по отдельности код смотрится нормально, а вместе фигня получается :)
Блок кода из юнит-тестов – вроде OK.
Макрос MAX_NUM тоже на первый взгляд нормальный.
Однако, при подстановке получаем: 1 << 20 / 2. Приоритет операции деления выше, чем сдвига. Получаем: 1 << 10. Каждый из циклов перебирает не 1048576 варианта, а только 1024. Итого, тест проверяет только одну миллионную часть от того, что должен :)
На ревью такое заметить можно, но сложно. Нужно явно посмотреть, во что макрос раскрывается и ещё в голове подстановку сделать.
Спасибо PVS-Studio за предупреждение V634. Но лучше не макросы, а константные переменные использовать или constexpr в C++.
Блок кода из юнит-тестов – вроде OK.
Макрос MAX_NUM тоже на первый взгляд нормальный.
Однако, при подстановке получаем: 1 << 20 / 2. Приоритет операции деления выше, чем сдвига. Получаем: 1 << 10. Каждый из циклов перебирает не 1048576 варианта, а только 1024. Итого, тест проверяет только одну миллионную часть от того, что должен :)
На ревью такое заметить можно, но сложно. Нужно явно посмотреть, во что макрос раскрывается и ещё в голове подстановку сделать.
Спасибо PVS-Studio за предупреждение V634. Но лучше не макросы, а константные переменные использовать или constexpr в C++.
👍1
Бестиарий программирования
1 << 20 / 2
Вчера немного поспешил с числами.
(1 << (20 / 2)) * (1 << (20 / 2)) = 1024 * 1024 = 1048576
((1 << 20) / 2) * ((1 << 20) / 2) = 524288 * 524288 = 274877906944
274877906944/1048576 = 262144
Так что перебирается не в миллион раз меньше комбинаций, а 250 тысяч :)
Впрочем, суть ошибки это не меняет. Кстати, если её исправить, возможно проявится другая проблема с тестов. Вернее, выяснится, что он работает слишком медленно и его надо переделывать.
(1 << (20 / 2)) * (1 << (20 / 2)) = 1024 * 1024 = 1048576
((1 << 20) / 2) * ((1 << 20) / 2) = 524288 * 524288 = 274877906944
274877906944/1048576 = 262144
Так что перебирается не в миллион раз меньше комбинаций, а 250 тысяч :)
Впрочем, суть ошибки это не меняет. Кстати, если её исправить, возможно проявится другая проблема с тестов. Вернее, выяснится, что он работает слишком медленно и его надо переделывать.
🔥1
Выложили подкаст, в котором я недавно участвовал. Приятного всем прослушивания и спасибо организаторам.
P.S. Если кто-то делает подкасты/вебинары программисткой направленности, то знайте, команда PVS-Studio всегда открыта к сотрудничеству.
P.S. Если кто-то делает подкасты/вебинары программисткой направленности, то знайте, команда PVS-Studio всегда открыта к сотрудничеству.
Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
В новом выпуске обсудили, с чего начиналась разработка статического анализатора PVS-Studio и как работает команда сегодня.
Приятного просмотра!
Послушать подкаст можно здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
VK Видео
Статический анализ кода / Виды анализа и диагностики / Поиск кадров в регионах
В гостях у «Битовых масок» — Андрей Карпов и Юрий Минаев из PVS-Studio. В новом выпуске инженеры рассказывают о том, с чего начиналась разработка статического анализатора PVS-Studio и как работает команда сегодня. Как устроен статический анализ и в чем главные…
Годы идут, а ошибки затирания приватных данных по прежнему прекрасно себя чувствуют и процветают. Очередное гнездо я встретил в DPDK. Суть в том, что если после memset буфер памяти не используется, то и заполнять его не обязательно. Компиляторы удаляют вызов memset. Нужно использовать memset_s, RtlSecureZeroMemory или их аналогии. Подробнее: V597, CWE-14.
👍3😱1
Если попросить программиста назвать типовые ошибки, то скорее всего он назовёт неинициализированные переменные, деление на 0, разыменование нулевого указателя. Но насколько то, что сразу приходит в голову, в действительности часто можно встретить к коде? Чего больше: ошибок выхода за границу массива или опечаток вида if (A == A)? Интересные наблюдения за миром ошибок ждут вас в моём докладе "Ошибки в коде: ожидания и реальность".
👍1
https://vk.com/video-11805870_456239336
Это Юрий Минаев, архитектор C++-анализатора PVS-Studio, и его доклад на C++ Zero Cost Conf 2024. Юрий рассмотрел семантику языка с точки зрения статического анализатора или фронтенда компилятора.
Это Юрий Минаев, архитектор C++-анализатора PVS-Studio, и его доклад на C++ Zero Cost Conf 2024. Юрий рассмотрел семантику языка с точки зрения статического анализатора или фронтенда компилятора.
VK Видео
Семантика для кремниевых мозгов | Юрий Минаев, PVS-Studio
Это Юрий Минаев, архитектор C++-анализатора PVS-Studio, и его доклад на C++ Zero Cost Conf 2024. Юрий рассмотрел семантику языка с точки зрения статического анализатора или фронтенда компилятора. --------------------- 🎁Попробовать PVS-Studio бесплатно в…
1 апреля 2024 года введён в действие новый ГОСТ Р 71207–2024 "Статический анализ программного обеспечения". Если в ГОСТ Р 56939–2016 говорится о необходимости использования статического анализа при разработке безопасного программного обеспечения (РБПО), то ГОСТ Р 71207–2024 уточняет, что именно это означает.
Информация в ГОСТ очень плотная, и её тяжело сразу воспринять, если вы ранее не имели дело со статическим анализом кода и РБПО. Поэтому я подготовил и провёл цикл из 5 вебинаров, где разобрал различные аспекты ГОСТ и примерами пояснил некоторых термины.
Информация в ГОСТ очень плотная, и её тяжело сразу воспринять, если вы ранее не имели дело со статическим анализом кода и РБПО. Поэтому я подготовил и провёл цикл из 5 вебинаров, где разобрал различные аспекты ГОСТ и примерами пояснил некоторых термины.
Хабр
ГОСТ Р 71207–2024 глазами разработчика статических анализаторов кода
1 апреля 2024 года введён в действие новый ГОСТ "Статический анализ программного обеспечения". Если в ГОСТ Р 56939–2016 говорится о необходимости использования статического анализа при...
👍3