← к ленте

Claude помог формально проверить 123 открытые библиотеки

3 дн

Anthropic и Theorem использовали Claude и Rocq для проверки 123 библиотек OSS-Fuzz и выявили сотни ошибок в коде.

ИИ помог проверить код на ошибки, которые обычные случайные тесты могли не обнаружить.

  • Проверка охватила 123 открытые библиотеки и 239 точек входа.
  • Авторы сообщают о сотнях найденных и устранённых ошибок.
  • Доказательства проверяла отдельная программа Rocq, а изменения кода контролировали люди.
  • Подход пока требует сотен миллионов токенов на одно доказательство.
📌 Anthropic и Theorem использовали Claude для математической верификации 123 открытых библиотек Исследователи применили модель для построения формальных математических доказательств надежности кода. Основой послужили готовые фаззинг-тесты из OSS-Fuzz, сервиса Google для непрерывной проверки открытого кода случайными данными, которые сами по себе не способны дать стопроцентной гарантии отсутствия сбоев. Claude превращал каждый такой тест в строгое утверждение и доказывал его. Всего за несколько недель нейросеть сгенерировала около 180 миллионов строк кода доказательств для 239 точек входа в 123 библиотеках из набора OSS-Fuzz. Корректность доказательств проверяла программа Rocq, которая пересчитывает каждый шаг рассуждения, и результаты математически подтверждают, что протестированные программы гарантированно завершатся штатно при обработке любых произвольных входных данных размером до 64 МБ. В процессе построения доказательств модель вскрыла и устранила сотни нетривиальных багов, которые практически невозможно отловить случайными тестами. В их числе - ошибка перезаписи буфера в алгоритме декомпрессии, срабатывавшая только при строгом совпадении внутренней структуры и размера файла около 20 МБ, а также чтение за границами массива в декодере изображений, требовавшее для воспроизведения 64-мегабайтный файл и более 2 ГБ выделенной памяти. Ранее подобная строгая верификация считалась слишком трудоемкой для реального применения - к примеру, доказательство корректности микроядра seL4 потребовало 20 человеко-лет против всего двух человеко-лет на написание самого кода. Авторы рассчитывают, что скоро формальная верификация станет такой же обыденной практикой, как сегодня фаззинг, почти для всего промышленного кода, хотя пока это дорого - на одно доказательство ушло сотни миллионов токенов.
К слову, совсем без людей обойтись всё еще не получается - в экспериментах следили за тем, чтобы модель не добивалась доказуемости, выхолащивая саму программу, поэтому её правки кода штрафовались и проверялись человеком.
@ai_machinelearning_big_data #news #ai #ml
Claude помог формально проверить 123 открытые библиотеки

Кратко (AI)

Anthropic и Theorem применили Claude для построения формальных доказательств корректности кода в 123 библиотеках из набора OSS-Fuzz. Доказательства проверяла программа Rocq; в процессе также обнаружили и устранили сотни ошибок, а авторы отмечают высокую стоимость такого подхода и необходимость контроля со стороны людей.

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖