FStarLang/FStar

A Proof-oriented Programming Language

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on September 22nd, 2026
Created on April 3rd, 2014
Open Issues & Pull Requests: 609 (+1)
GitHub issues: Enabled
Number of forks: 266
Total Stargazers: 3,109 (+0)
Total Subscribers: 71 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.9 hours
Mean response time: 148.2 days
90th percentile: 487.2 days
Tracked items: 202

How this project is maintained

Roughly one issue in three opened in the past year never receives a reply. 66% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. 37% of tracked open issues have had no activity in three months. Only 46% of issues opened in the past year have been closed. Three people close 86% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 139
New in 7 days: 18
Closed in 7 days: 6
Avg open age: 443 days
Stale 30+ days: 118
Stale 90+ days: 85

Recent activity

Opened in 7 days: 18
Closed in 7 days: 6
Comments in 7 days: 3
Events in 7 days: 6

Top labels

  • kind/unsoundness (17)
  • kind/bug (11)
  • component/extraction (10)
  • kind/enhancement (9)
  • area/fsharp-vs-ocaml (8)
  • area/usability (4)
  • component/smtencoding (4)
  • component/typechecker (4)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

F* is a proof-oriented programming language that integrates dependent types, SMT solving, and interactive theorem proving to enable formal verification of code correctness.

F* addresses the problem of writing programs with machine-checked proofs of their properties. The language combines dependent types with Dijkstra monads to express program specifications and prove them correct. The type system enforces that code satisfies its specifications before execution, and the tool uses SMT solvers to discharge proof obligations automatically where possible, reducing manual proof burden.

Developers should choose F* when formal verification of critical code is a priority, particularly for security-sensitive or safety-critical systems. The tool suits projects where you need to prove properties about program behavior and extract verified code for execution. F* code can be extracted to OCaml or F# for general execution, while code written in Pulse, a DSL within F* for concurrent imperative programming, can be extracted to C or Rust via the KaRaMeL tool. Assembly-level code can be extracted via the Vale tool. The language has editor support in Emacs and VS Code with syntax highlighting, code completion, and incremental interactive development. An online book provides learning material with browser-based examples and exercises.

The project maintains active engagement with its user community through a dedicated Zulip forum for questions and discussion. Development is responsive to issue reports, with maintainers requesting that problems be verified against the master branch before filing. The tool has established integrations with AI code assistants, including a proof-copilot plugin that provides language-specific prompts and skills for agents like Copilot CLI and Claude Code.