CStar: Unifying Programming and Verification in C
Ensuring the correct functionality of systems software, given its safety-critical and low-level nature, is a primary focus in formal verification research and applications. Despite advances in verification tooling, conventional programmers are rarely involved in the verification of their own code, resulting in higher development and maintenance costs for verified software. A key barrier to programmer participation in verification practices is the disconnect of environments and paradigms between programming and verification practices, which limits accessibility and real-time verification.
We introduce CStar, a proof-integrated language design for C programming. CStar extends C with verification capabilities, powered by a symbolic execution engine and an LCF-style proof kernel. It enables real-time verification by allowing programmers to embed proof-code blocks alongside implementation code, facilitating interactive updates to the current proof state. Its expressive and extensible proof support allows users to build reusable libraries of logical definitions, theorems, and programmable proof automation. Crucially, CStar unifies implementation and proof code development by using C as the common language.
I am an Assistant Professor at Peking University’s School of Computer Science and a member of the Programming Languages Lab.
My main interest is in programming languages in general, and formal verification, program analysis, and probabilistic programming in particular. My mission is to develop universal and easy-to-use abstractions and paradigms for programming safe and efficient software, and programming-language-level integrations to automatically analyze, optimize, and synthesize programs. Currently, I am working on resource-safe system programming, programmable Bayesian inference, quantitative program analysis, and proof-oriented programming languages.
Before joining Peking University, I received my Ph.D. from Carnegie Mellon University under the supervision of Prof. Jan Hoffmann.
Sat 18 OctDisplayed time zone: Perth change
13:45 - 15:30 | Programming Language & CompilerSponsor Invited Talks at Peony NE Chair(s): Zhiyang Chen University of Toronto 13:45 - 15:45 (Instead of 15:30), 30 min each talk | ||
13:45 26mTalk | Programming Language Design for GPU Systems Sponsor Invited Talks Michel Steuwer Technische Universität Berlin | ||
14:11 26mTalk | CStar: Unifying Programming and Verification in C Sponsor Invited Talks Di Wang Peking University | ||
14:37 26mTalk | Supercharge Compiler Engineering with LLMs Sponsor Invited Talks Yongqiang Tian Monash University | ||
15:03 26mTalk | Python, Is It Being Killed by Incremental Improvements? Sponsor Invited Talks Stefan Marr Johannes Kepler University Linz | ||
