Skip to main content

14 posts tagged with "Rust"

View All Tags

8 min read

In our project coq-of-rust we translate programs written in Rust to equivalent programs in the language of the proof system Coq聽馃悡, which will later allow us to formally verify them. Both Coq and Rust have many unique features, and there are many differences between them, so in the process of translation we need to treat the case of each language construction separately. In this post, we discuss how we translate the most complicated one: traits.

5 min read

We are diversifying ourselves to apply formal verification on 3锔忊儯 new languages with Solidity, Rust, and TypeScript. In this article we describe our approach. For these three languages, we translate the code to the proof system 馃悡聽Coq. We generate the cleanest聽馃Ъ possible output to simplify the formal verification聽馃搻 effort that comes after.

Formal verification is a way to ensure that a program follows its specification in聽馃挴% of cases thanks to the use of mathematical methods. It removes far more bugs and security issues than testing, and is necessary to deliver software of the highest quality聽馃拵.