TL;DR: Cure — это функциональный язык программирования для виртуальной машины BEAM (Erlang/Elixir/Glem/LFE), который привносит математические доказательства корректности кода прямо во время компиляции. Используя SMT-солверы (Z3/CVC5), Cure проверяет типы зависимые от значений, верифицирует конечные автоматы и гарантирует отсутствие целых классов ошибок ещё до запуска программы.Проект выходит из стадии «наколенная поделка» и переходит в разряд «MVP». Зачем я стал писать свой язык
Это обзорная статья, в которой очень поверхностно и не подробно рассказывается о том, что такое формальная верификация программного кода, зачем она нужна и чем она отличается от аудита и тестирования. Формальная верификация — это доказательство с использованием…
Как убедиться, что в аппаратном дизайне нет багов? Результаты обычных тестов иногда сигнализируют только о том, что ошибки не нашлись, а не о том, что их нет вовсе. На помощь приходит формальная верификация — метод, который проверяет все состояния системы в поисках ошибки. Для…
Привет, Хаброжители! Мы перевели для Вас свежую статью Мартина Клеппманна о том, почему формальная верификация благодаря ИИ вот-вот перестанет быть уделом единиц и станет обычной практикой. Сейчас много говорят о влиянии ИИ на разработку, но есть ракурс, который почти не рассматривают. Клеппманн считает, что ИИ превратит формальную верификацию, десятилетиями жившую на периферии, в программно-инженерный мейнстрим. Читать далее