feat: detect out of range values in caller and return value verification
feat: #define XR0 by default for conditional use
chore: add -pedantic
Xr0 is a verifier for C that aims to guarantee the safety of C programs at compile time. It will eliminate common pitfalls such as use-after-frees, double frees, buffer out-of-bounds reads/writes, null pointer dereferences, uses of uninitialised memory, arithmetic overflows/underflows and all other instances of undefined behaviour in C.
View the project website here.
Check out the tutorial on the website.
The best way to contribute to Xr0 is to use it for something.
In that regard, we're forming a cohort for the first few users of Xr0. Participation in the cohort will come with support and prioritisation (within reason) of features in our roadmap as we work towards making Xr0 useful for everyone. And best of all, it'll be completely free. The only thing is there's two of us, so we'll have to keep the cohort fairly small. Reach out via email to Claude or Amisi or DM us on the Xr0 Discord if you're interested in this.
We are currently not accepting pull requests due to the early stage of Xr0. However, if you have a serious proposal for how we can improve Xr0 you can make an issue to explain it.
This project is distributed under the terms of the Apache 2.0 open source license. Please refer to LICENSE for the full terms.