POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Model checking security properties of control flow graphs
Journal of Computer Security
Principles of Program Analysis
Principles of Program Analysis
Jakarta: A Toolset for Reasoning about JavaCard
E-SMART '01 Proceedings of the International Conference on Research in Smart Cards: Smart Card Programming and Security
Flow Logics for Constraint Based Analysis
CC '98 Proceedings of the 7th International Conference on Compiler Construction
Formal Development of an Embedded Verifier for Java Card Byte Code
DSN '02 Proceedings of the 2002 International Conference on Dependable Systems and Networks
Theoretical Computer Science - Foundations of software science and computation structures
Automatically proving the correctness of compiler optimizations
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
The Synthesis of a Java Card Tokenization Algorithm
Proceedings of the 16th IEEE international conference on Automated software engineering
Formal verification of translation validators: a case study on instruction scheduling optimizations
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building Certified Static Analysers by Modular Construction of Well-founded Lattices
Electronic Notes in Theoretical Computer Science (ENTCS)
Semantic Foundations and Inference of Non-null Annotations
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Certifying a Tree Automata Completion Checker
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
Modular development of certified program verifiers with a proof assistant1,2
Journal of Functional Programming
Formalising and Verifying Reference Attribute Grammars in Coq
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Control-flow analysis of function calls and returns by abstract interpretation
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
A Certified Data Race Analysis for a Java-like Language
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
Fast reflexive arithmetic tactics the linear case and beyond
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Certified result checking for polyhedral analysis of bytecode programs
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
Defining and reasoning about recursive functions: a practical tool for the coq proof assistant
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Modular proof principles for parameterised concretizations
CASSIS'05 Proceedings of the Second international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Control-flow analysis of function calls and returns by abstract interpretation
Information and Computation
A uniform and certified approach for two static analyses
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Control-flow analysis of functional programs
ACM Computing Surveys (CSUR)
Proofs you can believe in: proving equivalences between Prolog semantics in Coq
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
A constraint-based data flow analysis is formalised 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 represented in a way 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 solution to the constraints is constructive which means that the extraction mechanism of Coq provides a provably correct data flow analyser in Ocaml from the proof. The library of lattices and the 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.