Skip to content
arXiv.org·

💡C* Unifies Programming and Verification in C, April 3, 2025

C* makes formal verification accessible to everyday coders

TL;DR

C* is a new language design for C that integrates verification directly into the code, making formal verification more accessible to programmers. It's powered by a symbolic execution engine and supports real-time proof updates, with a prototype showing promise in real-world scenarios.

C*, a new language design for C, integrates verification directly into the code, making formal verification more accessible to everyday programmers. This is a big deal for developers who need to ensure the correctness of their systems software but lack the expertise or tools to do so effectively. C* enables real-time verification by allowing programmers to embed proof-code blocks alongside implementation code, facilitating interactive updates to the proof state. The prototype was evaluated on small C programs and a challenging real-world case study, demonstrating its effectiveness in handling complex reasoning tasks. The paper was submitted to arXiv on April 3, 2025, with the identifier arXiv:2504.02246.

C* Unifies Programming and Verification in C, April 3, 2025 — arXiv.org

Key Points

1

C* extends C with verification capabilities, submitted to arXiv on April 3, 2025 (arXiv:2504.02246)

2

C* is powered by a symbolic execution engine and an LCF-style proof kernel

3

C* allows real-time verification by embedding proof-code blocks in C programs

4

Prototype evaluated on small C programs and a challenging real-world case study

5

Paper available in PDF and HTML formats, with DOI https://doi.org/10.48550/arXiv.2504.02246

Why It Matters

If you're developing systems software and need to ensure correctness but lack the expertise for formal verification, C* could be a game-changer. It integrates verification directly into the C programming language, making it more accessible to everyday coders. This could drastically reduce development and maintenance costs for verified software, while also improving the reliability of systems software.

C*formal-verificationprogrammingsystems-softwarearXiv

Frequently Asked Questions

Why does this matter?

If you're developing systems software and need to ensure correctness but lack the expertise for formal verification, C* could be a game-changer. It integrates verification directly into the C programming language, making it more accessible to everyday coders. This could drastically reduce development and maintenance costs for verified software, while also improving the reliability of systems software.

What happened?

C* is a new language design for C that integrates verification directly into the code, making formal verification more accessible to programmers. It's powered by a symbolic execution engine and supports real-time proof updates, with a prototype showing promise in real-world scenarios.

Comments

Subscribe to join the conversation...

Be the first to comment

Enjoyed this article?

Get it daily. 7am. Free. Reads in 5 minutes.

Join 3,470 builders reading daily.

Also get