Skip to content
WEAVEC v0.9.0/ EARLY RELEASE

C, with more
certainty.

Ownership and borrowing for the C you already write. Find memory bugs, make contracts explicit, and adopt checked safety one function at a time.

BUILT ON CLANG + LLVMOPEN SOURCE
FOLLOW THE OWNERSHIP C17
example.c
#include <stdlib.h>
struct node {
int value;
};
static void node_free(struct node *n) {
free(n);
}
int read_node(struct node *n) {
struct node *alias = n;
node_free(alias);
return n->value;
}

use of 'n' after it was freed

↳ freed here, through 'alias'
Ownership inferred. No annotations needed for this example.
YOUR C SOURCEINFER OWNERSHIPCHECK CONTRACTSCLANG + LLVM
A CLEAR PATH FORWARD

Start small. Build confidence.

From one source file to a whole program.
Choose the next step for your project.

A MODEL YOU CAN REASON ABOUT

The intent is already
in your code.

Allocators, cleanup functions, aliases, and control flow tell a story. WeaveC follows it across functions and source files.

Understand ownership and borrowing
01

Infer first

Function bodies reveal what they free, store, borrow, and return. Add annotations where an interface needs a contract.

02

Keep your toolchain

Analyze C with libTooling or use weavec-cc in a normal build. Clang handles parsing and code generation.

03

Know the boundary

Checked reports expose requirements, unresolved obligations, and trusted operations. Review the evidence behind each result.

WHEN YOU NEED THE DETAILS

Keep the reference close.

Early software. Explicit guarantees. Checked safety applies to selected source functions within the supported model, under recorded requirements and trust boundaries. Read the scope and limits →