Математически доказанная безопасность Rust — это как?

Здравствуйте.

Недавно увидел сентенцию, мол, "безопасность Rust имеет математическое обоснование". Кто-нибудь может подсказать, о чем идет речь?
  • Вопрос задан
  • 491 просмотр
Решения вопроса 1
Tyranron
@Tyranron
Процитирую humbug из комментов к недавней статье:

Конкретно в https://people.mpi-sws.org/~dreyer/papers/rustbelt... формально доказывается, что система типов Раста, владение, заимствование и прочее — корректны. Доказывается, что программа безопасна, если написана на безопасном подмножестве Раст. Доказывается, что программа безопасна, если в ней есть вкрапления unsafe, в которых программист не допустил ошибки, UB.

Кроме того, проект RustBelt на текущем этапе занимается формальной верификацией библиотеки std, но полная проверка требует времени. Поэтому библиотеку проверяют по кускам. Да, были найдены и исправлены 2 ошибки в unsafe коде (что показывает, что ребята делом занимались), тем не менее все эти thread, mutex, Arc/Rc формально безопасны.


Собственно, сами математические доказательства смотрите в научных публикациях:
RustBelt: Securing the Foundations of the Rust Pro...
KRust: A Formal Executable Semantics of Rust
K-Rust: An Executable Formal Semantics for Rust

Сайт проекта RustBelt: plv.mpi-sws.org/rustbelt
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@blandger
Рабочая группа есть, когда будут результаты? Наверное не быстро..
https://github.com/rust-lang-nursery/wg-verification

Цели и задачи группы перечислены
https://rust-lang-nursery.github.io/wg-verification/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы