gram news
Протестировал channel avatar

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

@sqaunderhood

Рекламу и анонсы не размещаю. Авторский канал о качественной разработке ПО (процессы, тестирование, формальная верификация и спецификация). Контакт: @ligurio

ProjectsRUProgramming

1,880subscribers

Open the Channel

Latest posts

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

    3 Sept, 10:20

    Finding bugs across the Python ecosystem with Claude and property-based testing We developed an agent that can efficiently identify bugs in large software projects. To do this, our agent infers general properties of code that should be true, and then by applying property-based testing - a technique similar to fuzz testing - we are able to discover bugs in top Python packages like NumPy, SciPy, and Pandas. After extensive manual validation, we are in the process of reporting these bugs to the developers, several of which have already been patched.https://www.anthropic.com/research/property-based-testing Статья: https://arxiv.org/abs/2510.09907 Код: https://github.com/mmaaz-git/agentic-pbt
    AnthropicFinding bugs across the Python ecosystem with Claude and property-based testingEnsuring that programs are bug-free is one of the most challenging aspects of software engineering. We developed an agent that can efficiently identify bugs in large software projects.
    41051Open in Telegram
  • Протестировал

    9 Jul, 17:14

    A collaborative bibliography of papers related to property-based testinghttps://github.com/ngernest/pbt-bibliography
    GitHubGitHub - ngernest/pbt-bibliography: A collaborative bibliography of papers related to property-based testingA collaborative bibliography of papers related to property-based testing - ngernest/pbt-bibliography
  • Протестировал

    7 Jul, 15:06

    В Github UI появился автоматический дедупликатор тикетов, во время создания нового тикета, но ищет похожие по описанию. Впрочем работает пока так себе, в моём случае это был не дупликат.
    Image from a post by ПротестировалImage from a post by Протестировал
    966631Open in Telegram
  • Протестировал

    13 Jun, 06:30

    CirrusCI всё: Cirrus CI will shut down effective Monday, June 1, 2026.Перейдут под крыло OpenAI. В прощальном тексте основатель перечисляет инновации: Over the last nine years, we were fortunate to innovate across continuous integration, build tools, and virtualization. In 2018, we introduced what we believe was the first SaaS CI/CD system to support Linux, Windows, and macOS while allowing teams to bring their own cloud. In 2022, we built Tart, which became the most popular virtualization solution for Apple Silicon, along with several other tools along the way. но я их ценил в первую очередь за возможность использования FreeBSD в CI.https://cirruslabs.org/
    cirruslabs.orgCirrus Labs to join OpenAICirrus Labs announces an agreement to join OpenAI as part of the Agent Infrastructure team.
    1,28031Open in Telegram
  • Протестировал

    4 Jun, 07:23edited

    Интересная статья про использование сравнительного тестирования для приложений с состоянием - "Vive la Différence: Practical Diff Testing of Stateful Applications".При обновлении stateful-приложений работающих с БД часто возникают трудноуловимые ошибки и традиционные методы (канареечные релизы, роллинг-обновления, cине-зелёное развёртывание) плохо эти ошибки выявляют из-за разделяемого состояния. Стандартные тесты (юнит- и интеграционные) не проверяют взаимодействие разных версий во время обновления.В статье предлагается использование фреймворка для сравнительного тестирования двух версий приложения (v1​ - текущая, v2​ - новая) на идентичность поведения. Фреймворк работает поверх существующего Postgres без модификации кода СУБД, его работа разделяется на три этапа:- Ветвление - создание лёгких, изолированных веток исходной базы данных без её физического копирования. Ветвление
    1,200541Open in Telegram
  • Протестировал

    23 Apr, 11:05

    Раньше ведь как было: изучаешь теорию языков программирования и формальные методы, формальные грамматики, лексический и синтаксический анализ, работу c AST (обход дерева, трансформация), атрибутные грамматики и синтезируемые/наследуемые атрибуты, изучаешь системы типов, семантику программ, чтобы понимать, что означает программа, изучаешь межпроцедурный анализ. Изучаешь алгоритмы статического анализа: анализ потоков данных и анализ потоков управления, абстрактную интерпретацию, ML для статического анализа, изучаешь реализации SOTA статических анализаторов с открытым исходным кодом (вроде ничего не забыл). И через несколько лет вы может быть разработаете статический анализатор, который будет находить проблемы в популярных проектах с высоким уровнем качества кода.А cейчас вы можете сделать расширение для популярной LLM из инструкций для этой LLM и вуаля, 500+ дефектов в CPython и
    LWN.netUsing LLMs to find Python C-extension bugsThe open-source world is currently awash in reports of LLM-discovered bugs and vulnerabilities, [...]
    1,33051Open in Telegram
  • Протестировал

    19 Mar, 17:01

    Sashiko мониторит список рассылки с патчами в ядро Linux (LKML) и запускает ревью этих патчей с помощью LLM (сейчас, как я понял, это Gemini). Результаты публикует в симпатичном WebUI.https://sashiko.dev/
    Image from a post by ПротестировалImage from a post by Протестировал
    1,3104221Open in Telegram
  • Протестировал

    13 Mar, 10:45edited

    Если вы хотели погрузиться в тему SDLC, то вот вам знак свыше: в весеннем семестре в ВМК МГУ проходит спецкурс по РБПО.Лабораторные работы будут доступны только студентам, лекции будут транслироваться в Jitsi по ссылке, прослушивание доступно всем желающим просто по ссылке, записи лекций (кроме первой) обещают выкладывать. Лекторы из ИСП РАН и индустрии.3 марта Вводная лекция. 10 марта Неопределенное поведение и оптимизация кода. 17 марта Статический анализ. 24 марта Задачи практического применения статического анализатора исходного кода компилируемых языков. 31 марта Обзор методик и инструментов архитектурного анализа. Композиционный анализ ПО. 7 апреля Анализ поверхности атаки. 14 апреля Фаззинг-тестирование. 21 апреля Оценка соответствия процессов РБПО в организации. Сертификация процессов РБПО.
    1,650file543Open in Telegram
  • Протестировал

    12 Mar, 13:16

    5 марта умер сэр Тони ХоарНекролог: https://blog.computationalcomplexity.org/2026/03/tony-hoare-1934-2026.html
    blog.computationalcomplexity.orgTony Hoare (1934-2026)Turing Award winner and former Oxford professor Tony Hoare passed away last Thursday at the age of 92. Hoare is famous for quicksort, ALGO...
    1,44013411Open in Telegram
  • Протестировал

    4 Mar, 16:48edited

    Поиск точек разладки (changepoint) это популярная задача в разных областях. Это канал про тестирование ПО, поэтому ограничимся поиском точек разладки при анализе результатов тестирования производительности. В отличие от функционального тестирования результаты тестов производительности нужно постоянно анализировать и выявлять причины отклонений результатов, в некоторых компаниях этим занимаются отдельные команды (Андрей Акиньшин работе такой команды целую книжку посвятил, рекомендую к прочтению). Но если выделенной команды нет, а тестировать производительность всё еще хочется, то можно использоваться математические методы для анализа результатов. Не буду рассказывать, что задача поиска точек разладки непростая, Андрей Акиньшин это уже сделал. Вместо этого расскажу как это сделали мы в Tarantool.Мы настроили запуск бенчмарков на выделенной машине со специальными настройками, все
    aakinshin.netChallenges of change point detection in CI performance dataChange point detection is a popular task in various disciplines. There are many algorithms that solve this problem. For example, in [[truong2020]], the authors presented a classification of different approaches and discussed 35 algorithms. However, not all…
    1,72055Open in Telegram
  • Протестировал

    2 Mar, 17:24

    После анонса задачи про верификацию оптимизаций в LuaJIT в лаборатории Tarantool мне написал студент Физтеха Алексей и сказал, что хочет взять эту задачу в качестве дипломной работы и с сентября прошлого года мы продолжаем делать верификатор для LuaJIT. Много успели сделать и есть результаты, которыми можно поделиться.Напомню основную идею - научиться моделировать семантику LuaJIT IR с помощью SMT-LIB, декларативного LISP-подобного языка для SMT-солверов, и тем самым получить возможность проверять эквивалентность программы, представленной в виде LuaJIT до и после оптимизаций. В отличие от сравнительного тестирования верификация с помощью SMT-решателя позволяет проверить корректность на всех допустимых входах, а не только на конкретных тестовых данных.До Алексея над задачей работали двое студентов, с которыми у нас появились первые результаты - они реализовали трансляцию для части IR
    TelegramПротестировалВ докладе "О чём я говорю, когда говорю о тестировании корректности работы компиляторов" я рассказывал про один из способов верификации оптимизаций в компиляторах с помощью SMT-солвера. Такой способ используется на практике для LLVM с помощью Alive2, для…
    1,240192Open in Telegram
  • Протестировал

    25 Feb, 16:20edited

    Обычно для оценки степени покрытия кода фаззинг-тестированием используют покрытие по строкам/функциями и редко по ветвлениям. Метрика покрытия MC/DC редко используется для оценка покрытия регресионными тестами вообще и фаззинга в частности, хотя она позволяет получить доказательство того, что логика надежно тестируется в коде. Я сделал патч, чтобы можно было для кода PUC Rio Lua и LuaJIT собирать MC/DC покрытие, мне было интересно узнать значения метрики для этих двух проектов при тестировании нашими фаззинг-тестами. Поддержка покрытия MC/DC уже есть и в GCC и в Clang (18+ и это не возраст, а версия), так как тесты по умолчанию собираются с libFuzzer, то я использовал реализацию из LLVM/Clang. Результаты такие:Общее покрытие MC/DC для кода LuaJIT 23%, некоторые файлы покрыты лучше других, топ-3: lj_parse.c - 95%, lj_buf.c - 88%, lj_str.c/lj_tab.c/lib_aux.c - 75%. Кажется здесь есть
    1,1501141Open in Telegram
  • Протестировал

    19 Feb, 13:39

    In this work, we address this issue by proposing an efficient white-box checker, Emme. Our key idea is to use information that is easily provided by database systems to efficiently check the isolation level of a given transaction history. We present version certificate recovery, a method of recovering the version order and each operation’s version from the database system under test. For efficiency, we also propose the concept of an expected serialization order, which obviates the need to define and recover a version certificate for many serializable concurrency control protocols. We have implemented version certificate recovery for three widely used database systems—PostgreSQL, CockroachDB, and TiDB. We demonstrate that Emme is 1.2–3.6× faster than Elle, a state-of-the-art checker. Using the expected serialization order, we obtain a further speedup of 34–430× compared to Emme when
  • Протестировал

    10 Feb, 15:10

    Что ж, настала пора. Подпишитесь на случай, если Телеграму станет совсем плохо.
    Image from a post by ПротестировалImage from a post by Протестировал
    1,620473330754Open in Telegram
  • Протестировал

    23 Jan, 18:42

    Инженер из Mozilla в треде рассказывает, что проблемы в CPU не редкость, не то, что раньше. Мало ли чего в интернетах пишут, но этот инженер разбирает креши от Firefox и заботливо собирает в один тикет - https://bugzilla.mozilla.org/show_bug.cgi?id=1896406. За год их накопилось 31 штука.Тред: https://bsd.network/web/@gabrielesvelto@mas.to/115939583283721936
    bugzilla.mozilla.org1896406 - (cpu-bugs) [meta] CPU bugsNEW (nobody) in Core - General. Last updated 2025-12-23.
    2,250117Open in Telegram
  • Протестировал

    8 Jan, 18:31

    Вот и новогодние подарки от авторов Software Foundations подоспели.We have a new, 7th (sic!) volume of Software Foundations: Security Foundations https://softwarefoundations.cis.upenn.edu/secf-current/index.htmlTopics include noninterference, security type systems, secure multi-execution, cryptographic constant time, and speculative load hardening. And that's not even all, as the volume is still in progress, and some new chapters are upcoming.
    2,28052Open in Telegram
  • Протестировал

    25 Dec 2025, 15:17edited

    Статистика по фаззингу Linux-ядра с помощью syzcaller: медиана выявления бага 51 день, 75-й перцентиль 291 день. С августа 2025 года syzcaller делает шаг влево: серии патчей в рассылке по некоторым подсистемам ядра подвергаются фокусному фаззингу ещё на этапе ревью. Найденные креши, которые воспроизводятся без патчей, не репортятся. Фаззингу подвергаются только функции, у которых поменялся объектный код, и файлы, которые затронули патчи. С августа по декабрь было найдено 105 крешей.https://ci.syzbot.org/statsДоклад Александра Ногих с LPC: https://lpc.events/event/19/contributions/2195/
    Image from a post by ПротестировалImage from a post by Протестировал
    2,630128Open in Telegram
  • Протестировал

    24 Dec 2025, 06:49

    В прошлый понедельник вышла новая публичная версия PUC Rio Lua и хотя мы не успели сообщить о проблеме до релиза всё равно хотелось разобраться с целочисленным переполнением. Для репорта проблемы нужен репродьюсер, а у меня никак не получалось воспроизвести проблему на локальной сборке. Я стал минимизировать репро в контейнере OSS Fuzz. Получил репро на Lua и С, но с ними локально всё равно не воспроизводится. Минимизирую набор флагов компилятора, все равно локально не воспроизводится. Начинаю с нуля пошагово воспроизводить в окружении контейнера и не воспроизводится. Потом замечаю, что если путь к Lua-скрипту покороче, то воспроизводится, а если путь указывает на скрипт в отдельной директории, то не воспроизводится. Чудеса какие-то!+++ luaL_loadbuffer_proto_test.c 2025-12-23 14:27:19.277975264 +0000 @@ -5,7 +5,7 @@ int main() { lua_State L = luaL_newstate(); luaL_openlibs(L); - luaL_l
    1,4709632Open in Telegram
  • Протестировал

    24 Dec 2025, 06:48edited

    Любите ли вы отладку так, как люблю её я?Время от времени от непрерывного фаззинга появляются срабатывания, которые надо разбирать, многие из них вызваны настоящими багами, но не все. Обычно мы стараемся все срабатывания разобрать как можно скорее и отрепортить их разработчикам LuaJIT и PUC Rio Lua, но иногда бывают "тяжелые" случаи и такой разбор задерживается. В начале декабря было два срабатывания для PUC Rio Lua: утечка памяти и целочисленное переполнение. Обе проблемы не получилось разобрать сразу, а тем временем в PUC Rio Lua один за другим выпускали RC для новой версии 5.5.0 и было желание как можно быстрее разобрать срабатывания. Чтобы разобрать каждое такое срабатывание надо научиться воспроизводить локально, без использования инфраструктуры OSS Fuzz, и потом минимизировать репро. По желанию можно сделать бисект по коммитам, чтобы понять когда проблема появилась.Проблема с
    1,2208762Open in Telegram
  • Протестировал

    18 Dec 2025, 18:51

    Ребята из Kaspersky рассказали как сделали и используют робопалец для тестирования телефонов. Круто конечно, молодцы! А ведь начиналась такая автоматизация с более простой Тамары.
    Image from a post by ПротестировалImage from a post by ПротестировалImage from a post by ПротестировалImage from a post by Протестировал
    1,96072Open in Telegram