Extracting a Data Flow Analyser in Constructive Logic

David Cachera 1 Thomas Jensen 1 David Pichardie 1 Vlad Rusu 2
1 Lande - Logiciel : ANalyse et DEveloppement
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
2 DART - Contributions of the Data parallelism to real time
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : We show how to formalise a constraint-based data flow analysis in the specification language of the Coq proof assistant. This involves defining 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 efficient 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 flow analyser in ocaml. The library of lattices together with the intermediate representation of constraints are defined in an analysis-independent fashion that provides a basis for a generic framework for proving and extracting static analysers in Coq.
Document type :
Conference papers
Complete list of metadatas

https://hal.inria.fr/inria-00564633
Contributor : Mister Dart <>
Submitted on : Wednesday, February 9, 2011 - 2:51:37 PM
Last modification on : Thursday, February 21, 2019 - 10:52:49 AM
Long-term archiving on : Tuesday, May 10, 2011 - 2:58:41 AM

File

extractDataFlow-ESOP-nospringe...
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00564633, version 1

Citation

David Cachera, Thomas Jensen, David Pichardie, Vlad Rusu. Extracting a Data Flow Analyser in Constructive Logic. ESOP, 2004, Barcelona, Spain. ⟨inria-00564633⟩

Share

Metrics

Record views

744

Files downloads

253