cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

Протестировал

Рекламу и анонсы не размещаю. Авторский канал о качественной разработке ПО (процессы, тестирование, формальная верификация и спецификация). — Дзен https://dzen.ru/sqaunderhood — VK https://vk.com/sqaunderhood — Твиттер https://twitter.com/sqaunderhood

Show more
Advertising posts
1 903
Subscribers
No data24 hours
+47 days
+1730 days

Data loading in progress...

Subscriber growth rate

Data loading in progress...

GWPSan: Sampling-Based Sanitizer Framework GWPSan is a framework for low-overhead sampling-based dynamic binary instrumentation, designed for implementing various bug detectors (also called "sanitizers") suitable for production uses. GWPSan does not modify the executed code, but instead performs dynamic analysis from signal handlers. > Note: GWPSan is inspired by GWP-ASan, but their design and implementation are completely different. https://github.com/google/gwpsan
Show all...
GitHub - google/gwpsan: GWPSan: Sampling-Based Sanitizer Framework

GWPSan: Sampling-Based Sanitizer Framework. Contribute to google/gwpsan development by creating an account on GitHub.

🔥 11
Kyle Kingsbury (aphyr) опубликовал отчёт о тестировании БД Datomic Pro. Сам отчёт как всегда интересный, не буду его пересказывать, почитайте сами по ссылке. Мне показалась забавной одна деталь. Работа над этим отчётом была проспонсирована банком NuBank, очевидно потому что они используют Datomic и заинтересованы в надёжности Datomic. В отчёте Кайл, как обычно, рассказывает какие тесты использовали и для Datomic это были List Append, List Append with CaS, Internal (вариация List Append) и тест Grant. И забавно то, что команда Jepsen тестировала СУБД по запросу банка, но не использовала в тестировании популярный тест bank, в котором создаются счета, в процессе тестирования переводятся деньги между счетами и при успешном исходе общая сумма на счетах не должна измениться. via
Show all...
🤔 7😁 5
Show all...
Property-based testing —Денис Буздалов, ИСП РАН

Property-based testing — зарекомендовавший себя подход, позволяющий находить баги, практически неподвластные ручному тестированию, и при правильном использов...

👍 11😡 1
- искать цели для фаззинга в незнакомом проекте может быть нетривиальной задачей. Я скорее с ней не справился. Поиск таких целей можно делать вручную, можно использовать эвристики (функции для кодирования и декодирования и т.д.), а можно использовать специальные инструменты для этого. - интеграционная работа может занять больше времени, чем вы на неё выделили - "взялся за гуж - не говори, что не дюж" если начал делать задачу, то надо доделывать.
Show all...
[cmake] Enable static building by ligurio · Pull Request #8989 · FreeRDP/FreeRDP

OSS Fuzz strongly recommends static linking for tests [1]. Patch enables static linking for a fuzzing test added in commit 2ad1469 ("Add fuzzer for certificate_data_set_pem()").

https://...

👍 15🤝 2
История (не)успеха Есть такой проект FreeRDP, в рамках которого разрабатывается библиотека для работы по протоколу RDP (Remote Desktop Protocol). Я когда-то давно делал несколько патчей для FreeRDP и их приняли в основную ветку, так что проект не был мне совсем чужим. Позднее я решил нанести ещё немного пользы проекту и интегрировать его в OSS Fuzz, чтобы фаззинг-тесты помогли разработчикам сделать код библиотеки более надежным. Помимо моего желания была ещё одна причина - периодически в библиотеке находили CVE и один из докладов на BlackHat был целиком посвящен "дырявости" FreeRDP - "Fuzzing and Exploiting Virtual Channels in Microsoft Remote Desktop Protocol for Fun and Profit". Чтобы сделать интеграцию проекта в OSS Fuzz надо сделать как минимум три вещи: добавить хотя бы один фаззинг тест в проект, сделать статическую сборку фаззинг-тестов в проекте и добавить сборочные скрипты в репозиторий OSS Fuzz. Итак, в феврале 2020 году я выбрал для фаззинг-тестов самые простые цели в FreeRDP - небольшие модули, которые уже были покрыты юнит-тестами, и сделал для них обёртки для LibFuzzer. Всё это я делал в свободное время и задачка немного растянулась во времени, первые патчи с тестами смержили только через год - в декабре 2020. Следом за тестами добавил в проект отдельную CMake-опцию для включения сборки фаззинг-тестов. Нужно отдать должное ментейнерам проекта - ревью моих патчей почти всегда было оперативным. Тесты были добавлены в проект и я сделал патч для OSS Fuzz. В теории работа это несложная: выбрать CMake-опции, с которыми собирать проект, чтобы не собрать лишнее, убедиться, что тесты собираются статически, есть аппрув от ментейнеров проекта и это наверное всё. На первом запуске CI для моего патча случилось страшное:
clang-15: error: unable to execute command: Segmentation fault (core dumped)
Хм, но Clang это не какой-то местечковый проект, почему он сегфолтит? Пока я думал и пытался отладить проблему мой PR закрыл один из ментейнеров OSS Fuzz, потому что "I was cleaning out some old issues/PRs, didn't realise this one was still active.". Я перестал проявлять активность в PR и его хотели прикрыть. Пока идей с фиксом проблемы для Clang не было я сделал патч для статической сборки FreeRDP. Его закатали в основную ветку супер быстро - за 8 дней. Проблема с Clang не решена. Тем временем код фаззинг-тестов собирается только под отдельной опцией в FreeRDP и может начать протухать - в одном из патчей переделали API и один из тестов сломался. Поэтому сделал отдельный воркфлоу в CI FreeRDP, чтобы собирать фаззинг-тесты на каждый коммит и проверять, что они не сломаны. Патч залили за 1 день. Прошло 3 года. Я попробовал убрать опцию для LTO в FreeRDP и Clang перестал сегфолтить. Патч для интеграции FreeRDP наконец-то залили в OSS Fuzz. Год 2023. Тесты запускаются в OSS Fuzz, всё работает. Потом сборка тестов в OSS Fuzz внезапно ломается. Нахожу коммит в FreeRDP, который сломал сборку. В переписке с ментейнером FreeRDP я пытаюсь аккуратно узнать почему на "красный" CI залили патч. Проблема в том, что все зависимости FreeRDP для сборки фаззинг-тестов описаны в репозитории OSS Fuzz, а разработчики не могут сами делать патчи для OSS Fuzz и при добавлении новых зависимостей всё ломается. Потом ещё раза два так сборка ломалась и я перестал уже обращать внимание на письма от OSS Fuzz про сломанную сборку. А разработчики FreeRDP и вовсе отключили в CI фаззинг. Весной 2024 ментейнер FreeRDP делает патч, который переносит сборочные скрипты из репозитория OSS Fuzz в репозиторий FreeRDP. Сборка работает. В апреле 2024 сотрудник Kaspersky сделал фаззинг-тест, который нашел несколько уязвимостей (Integer overflow & OutOfBound Write) в коде FreeRDP. Ментейнеры в оперативном порядке исправляют уязвимости и выпускают новую версию с исправлениями: https://github.com/FreeRDP/FreeRDP/releases/tag/2.11.6 https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-q5h8-7j42-j4r9 Получилось много слов и наверное надо написать выводы:
Show all...
👍 12
> Microsoft и IBM открыли код операционной системы MS-DOS 4.0 В опубликованном коде ни одного теста. Где тесты, Зин?
Show all...
MS-DOS/v4.0 at main · microsoft/MS-DOS

The original sources of MS-DOS 1.25, 2.0, and 4.0 for reference purposes - microsoft/MS-DOS

😁 20🙈 5👎 1🔥 1🗿 1
Photo unavailableShow in Telegram
GCC 14 умеет рисовать ASCII-диаграммы для визуализации проблем с переполнением буфера. via
Show all...
🔥 23😱 9 2👍 1
Видео доклада How Badly Do We Want Correct Compilers? (NDC TechTown 2023) Доклад известного исследователя Джона Регира (John Regehr). Докладчик, насколько можно заметить, ни разу не произносит слово "CompCert" и сомневается в успешности проектов формально верифицированных компиляторов для популярных ЯП, что, конечно, интригует. Рассматриваются инструменты, в разработке которых принял участие автор доклада: YARPGen, Souper и другие проекты. via
Show all...
Locknote: How Badly Do We Want Correct Compilers? - John Regehr - NDC TechTown 2023

This talk was recorded at NDC Techtown in Kongsberg, Norway. #ndctechtown #ndcconferences #cplusplus #bugs #softwaredeveloper Attend the next NDC conference near you:

https://ndcconferences.com

https://ndctechtown.com/

Subscribe to our YouTube channel and learn every day: /@NDC This talk is about compiler correctness. I will describe several efforts by my research group to detect previously unknown compiler bugs -- especially those that cause application code to be silently miscompiled. I'll also talk how we go about reporting compiler bugs in a way that makes them more likely to be fixed, and about various interactions that we've had with compiler development teams. Over the past decade or so we have reported more than 750 bugs, and we have also produced a variety of open-source tools that developers can use on their own.

👍 5👎 3🤔 2
Photo unavailableShow in Telegram
ChatGPT использует материалы из моей вики про тестирование.
Show all...
🔥 10👍 3
Из интересного в результатах ежегодного опроса среди разработчиков от JetBrains за 2023 год: 8% респондентов используют мутационное тестирование как одну из техник тест-дизайна, а техникой "угадывание ошибок" пользуются 16%. Больше половины опрашиваемых так или иначе использовали искусственный интеллект для генерирования тестов. Более 80% хотели бы использовать AI для написания тестов, а 18% хотели бы продолжить это самостоятельно. via Developer Ecosystem и Developer Ecosystem (Testing) См. результаты опросов за прошлые года: 2019, 2020, 2021.
Show all...
🔥 8🥴 1
Choose a Different Plan

Your current plan allows analytics for only 5 channels. To get more, please choose a different plan.