[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"8y33u6DtSN":3},"# Chartreux : Verified Dataflow Analysis in Lean\n\nChartreux is a framework for specifying and verifying dataflow analyses on control flow graphs, implemented in Lean. It rests on abstract representations for CFGs, and a verified implementation of Kildall's algorithm, to derive analysis correctness with respect to language semantics.\n\n## Structure\n\n```\nChartreux/\n  Analysis/\n    Generic.lean\n    Lattice.lean\n    Utils.lean\n    Worklist.lean\n    WorklistProofs.lean\n  Duke/\n    Analyses/\n    Examples/\n    Defs.lean, CFG.lean, ...\nREADME.md\n```\n\nThe `Analysis/` directory contains the abstract framework and all of the relevant proofs of correctness that back it. A sample instantiation lives in `Duke/`, based on a minimal subset of the Kotlin programming language, and an analysis lifted from its compiler.\n\n## Background\n\nA presentation of the framework and its applications to the Kotlin programming language can be found in the paper, a link to which will be provided shortly.\n\n#### Namesake\n\nThe framework is named after the [Chartreux](https://en.wikipedia.org/wiki/Chartreux) breed of cats, which seems to be the breed of the protagonist from the movie [Flow](https://en.wikipedia.org/wiki/Flow_(2024_film)). The ties between the movie's title and this work should be relatively straightforward.\n",1792350353196]