Share this page
  • Share this page on Twitter Share this page on Facebook Share this page on Digg Share this page on Del.icio.us Read the Inside Microsoft Research blog
  • E-mail this page Print this page
  • RSS feeds
Home > Projects > Fstar: Secure Distributed Programming with Value-Dependent Types
F*: A Verifying ML Compiler for Distributed Programming

F* is a new dependently typed language for secure distributed programming. It's designed to be enable the construction and communication of proofs of program properties and of properties of a program's environment in a verifiably secure way. F* compiles to .NET bytecode in type-preserving style, and interoperates smoothly with other .NET languages, including F#, on which it is based.

Self-certification of F*: We have verified the F* type checker using F* itself, using a novel bootstrapping technique called self-certification. You can read more about this here.

F*

F* subsumes several prior languages, including Fine, F7, FX and others. We have used it to verify nearly 20,000 lines of code, ranging from crypto protocol implementations to web browser extensions, and cloud-hosted web applications. Currently underway: a verified implementation of the F* compiler bootstrapped using F* itself (and Coq).

You can try it out on the web at rise4fun/FStar or download an alpha-release of the compiler and several example programs. F* formalization in Coq can be found here.

Publications