Repolode
verus-lang

verus-lang/verus

Инструмент для формальной верификации Rust-кода: он проверяет спецификации для всех возможных выполнений, не добавляя проверок во время работы программы.

Звёзды
3,374
Форки
239
Открытые issues
393
Последний коммит
5 часов назад

Что это?

Verus позволяет описывать спецификации того, как должен работать Rust-код, а затем статически проверяет, что исполняемый код удовлетворяет им при всех возможных выполнениях. Вместо добавления проверок во время работы программы Verus использует автоматические решатели, чтобы заранее доказать корректность.

Verus поддерживает подмножество Rust и позволяет рассуждать о коде за пределами стандартной системы типов, например о коде, работающем с сырыми указателями. Инструмент предназначен для низкоуровневого системного кода, где важны гарантии корректности.

Проект активно развивается, поэтому некоторые возможности могут быть незавершёнными или работать с ошибками. В комплект входят руководство, документация по API стандартной библиотеки (vstd), браузерная площадка и автоформаттер verusfmt.

Ключевые возможности

  • 01Спецификации пишутся рядом с Rust-кодом и проверяются статически.
  • 02Доказательства строятся автоматическими решателями, без добавления проверок во время работы программы.
  • 03Позволяет рассуждать о низкоуровневом коде, например о манипуляциях с сырыми указателями.
  • 04Предоставляет стандартную библиотеку (vstd) с API, удобными для формальной верификации.
  • 05Включает онлайн-площадку и интеграцию с VS Code.

Сценарии использования

  • Проверка корректности низкоуровневого системного кода на Rust.
  • Доказательство свойств структур данных или алгоритмов, которые ни при каких условиях не должны нарушать инварианты.
  • Изучение методов формальной верификации программ на Rust.

Быстрый старт

  1. 1

    Попробуйте Verus в браузере с помощью Verus Playground

  2. 2

    Следуйте инструкциям по установке из INSTALL.md, чтобы полностью настроить локальную среду

  3. 3

    Изучите учебник и справочное руководство

Что важно знать

  • Verus активно разрабатывается, поэтому некоторые функции могут работать некорректно или отсутствовать.
  • Поддерживается только часть Rust.
  • Документация пока неполная, а помощь в основном предоставляется через Zulip.

Темы

Частые вопросы

Что такое verus?
Инструмент для формальной верификации Rust-кода: он проверяет спецификации для всех возможных выполнений, не добавляя проверок во время работы программы. Verus позволяет описывать спецификации того, как должен работать Rust-код, а затем статически проверяет, что исполняемый код удовлетворяет им при всех возможных выполнениях. Вместо добавления проверок во время работы программы Verus использует автоматические решатели, чтобы заранее доказать корректность.
verus можно использовать бесплатно? Какая у него лицензия?
verus распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
verus всё ещё поддерживается?
Активно поддерживается. Последний коммит в verus — 22 окт. 2026 г..
Для чего можно использовать verus?
Проверка корректности низкоуровневого системного кода на Rust. Доказательство свойств структур данных или алгоритмов, которые ни при каких условиях не должны нарушать инварианты. Изучение методов формальной верификации программ на Rust.
Как установить verus?
Попробуйте Verus в браузере с помощью Verus Playground Следуйте инструкциям по установке из INSTALL.md, чтобы полностью настроить локальную среду Изучите учебник и справочное руководство
Где скачать verus?
Исходный код и инструкции по установке — на GitHub: https://github.com/verus-lang/verus

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Спецификация, определения на TypeScript и JSON Schema, а также официальная документация Model Context Protocol (MCP) — открытого стандарта для подключения AI-приложений к внешним инструментам и данным.

9,5 тыс.1,9 тыс.TypeScriptOtherОбновлён позавчера