Abstract. We show how to formalise a constraint-based data ow analysis in the speci cation language of the Coq proof assistant. This involves de ning a dependent type of lattices together with a library of lattice functors for modular construction of complex abstract domains. Constraints are expressed in an intermediate representation that allows for both e cient constraint resolution and correctness proof of the analysis with respect to an operational semantics. The proof of existence of a correct, minimal solution to the constraints is constructive which means that the extraction mechanism of Coq provides a provably correct data ow analyser in ocaml. The library of lattices together with the intermediate representation of constraints are de ned in an analysis-independent fashion that provides a basis for a generic framework for proving and extracting static analysers in Coq.
REF is an extractable dataflow analysis in Coq in the context of Java.
Extracting a Data Flow Analyser in Constructive Logic
ESOP
Computer Science