coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Chan Ngo <chan.ngo2203 AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] VST release 1.6
- Date: Tue, 5 Jan 2016 11:06:25 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=chan.ngo2203 AT gmail.com; spf=Pass smtp.mailfrom=chan.ngo2203 AT gmail.com; spf=None smtp.helo=postmaster AT mail-wm0-f54.google.com
- Ironport-phdr: 9a23:SoNo8xY15FjWs/yHQznSuBz/LSx+4OfEezUN459isYplN5qZpc6ybnLW6fgltlLVR4KTs6sC0LqI9fi4EUU7or+/81k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i760zceF13FOBZvIaytQ8iJ35rxj7j60qaQSjsLrQL1Wal1IhSyoFeZnegtqqwmFJwMzADUqGBDYeVcyDAgD1uSmxHh+pX4p8Y7oGwD884mosVHSODxe7kyZb1eFjUvdW4vt+PxshyWZguG4DM6XWJexhFICg6D6h79BM2p6QP1s+N83G+ROsigHuN8Yiir86o+EEygsywALTNsqGw=
Dear all,
This thread becomes interesting as on my side :-) By the way, I would like to turn the subject a little bit but in the same track. We consider the LLVM compiler, I assume that its core implementation is formally proved (e.g., some work based on translation validation for proving the correctness of the compiler’s transformations and optimizations). Now, assume that I want to develop a new “pass” (an optimization - in C++ and uses the data structures and API functions provided by LLVM) for LLVM and I want to make sure that my pass implementation is formally proved. I end up with two methods below:
M1.
- Develop a translation module that translates my code in C++ to Gallina (I think it is not easy task)
- Prove the correctness of this module
- Prove the correctness of the pass implementation based on the translated Gallina in Coq (i.e., based on the tool like VST)
M2.
- Specify the pass implementation in Coq, meaning that somehow we define a programming language with constructors coming from the data structures and API functions in LLVM (i.e., the concept of Basic Block, Functions, Modules in LLVM IR)
- Prove the correctness of the pass based on the above specification in Coq (i.e., based on the tool like VST)
- Automatically generated the C++ code of the pass from Coq
How do you think about pros and cons of each methods?
Thanks,
---
- Re: [Coq-Club] VST release 1.6, (continued)
- Re: [Coq-Club] VST release 1.6, Claude Marché, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Chan Ngo, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Adam Chlipala, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Chan Ngo, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Adam Chlipala, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Andrew Appel, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Chan Ngo, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Bas Spitters, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Andrew Appel, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Claude Marché, 01/05/2016
- Re: [Coq-Club] VST release 1.6, Chan Ngo, 01/05/2016
- Re: [Coq-Club] VST release 1.6, Gabriel Scherer, 01/05/2016
- Re: [Coq-Club] VST release 1.6, Chan Ngo, 01/18/2016
- Re: [Coq-Club] VST release 1.6, Perry E. Metzger, 01/18/2016
- Re: [Coq-Club] VST release 1.6, Adam Chlipala, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Chan Ngo, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Adam Chlipala, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Chan Ngo, 01/04/2016
- Re: [Coq-Club] VST release 1.6, Claude Marché, 01/04/2016
Archive powered by MHonArc 2.6.18.