Specification and prover for Haskell
Hello, I'm working on static verification in Haskell, and I search for existing works on specification of Haskell programs (such as pre/post conditions, for example) or any other functional language. It would be great if there exists a prover based on this kind of specifications. I already found the ESC/Haskell. Do you know some other works which could be interesting? Thanks, rde.
Might be of interest: http://www.cs.ru.nl/Sparkle/ Romain Demeyer schrieb:
Hello,
I'm working on static verification in Haskell, and I search for existing works on specification of Haskell programs (such as pre/post conditions, for example) or any other functional language. It would be great if there exists a prover based on this kind of specifications. I already found the ESC/Haskell. Do you know some other works which could be interesting?
Thanks,
rde.
------------------------------------------------------------------------
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
-- Jun.-Prof. Dr. Janis Voigtländer http://www.iai.uni-bonn.de/~jv/ mailto:jv@iai.uni-bonn.de
Hi Romain, are you aware of Haskabelle [1], a Haskell to Isabelle/HOL converter? I've never used or investigated it.
On 25.10.2010, at 10:09, Romain Demeyer wrote:
Hello,
I'm working on static verification in Haskell, and I search for existing works on specification of Haskell programs (such as pre/post conditions, for example) or any other functional language. It would be great if there exists a prover based on this kind of specifications. I already found the ESC/Haskell. Do you know some other works which could be interesting?
Thanks,
-- Jean [1] http://isabelle.in.tum.de/haskabelle.html
Hi, You might also want to have a look at Zeno, being developed by Will Sonnex (cc'd) which is in this space http://www.doc.ic.ac.uk/~ws506/tryzeno/ Cheers, Tris On Mon, Oct 25, 2010 at 10:09:32AM +0200, Romain Demeyer wrote:
Hello,
I'm working on static verification in Haskell, and I search for existing works on specification of Haskell programs (such as pre/post conditions, for example) or any other functional language. It would be great if there exists a prover based on this kind of specifications. I already found the ESC/Haskell. Do you know some other works which could be interesting?
Thanks,
rde.
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
On 25/10/2010, at 7:09 PM, Romain Demeyer wrote:
I'm working on static verification in Haskell, and I search for existing works on specification of Haskell programs (such as pre/post conditions, for example) or any other functional language.
We have used Haskell extensively in the verification of the seL4 microkernel. One part of that was translating a prototype of the kernel into Isabelle and proving a large number of invariants as well as proving two refinement theorems about the translation. For our work the translation itself was not correctness critical, so we were happy to use our own somewhat ad-hoc tool for it. Some papers on this are: Pre/post verification and refinement of state monad programs: http://www.cse.unsw.edu.au/~kleing/papers/Cock_KS_08.html Experience report on the Haskell verification: http://www.cse.unsw.edu.au/~kleing/papers/Klein_DE_09.html The whole picture: http://www.cse.unsw.edu.au/~kleing/papers/sosp09.html More papers here: http://www.ertos.nicta.com.au/research/l4.verified/pubs.pml In general, if your program does not use state monads, but is just a simple, straightforward functional program, the combination of Haskabelle and Isabelle/HOL can work quite nicely without a big formal apparatus such as a pre/post calculus. You can just state properties directly as you might in quickcheck.
It would be great if there exists a prover based on this kind of specifications. I already found the ESC/Haskell. Do you know some other works which could be interesting?
We're using Isabelle/HOL. In the work above this was together with our own translator from Haskell to Isabelle, in the future it will possibly Haskabelle which has already been pointed out. Cheers, Gerwin
The Heterogeneous Tool Set supports HasCASL for specification of Haskell programs, and uses Isabelle for proving http://www.dfki.de/sks/hets Moreover, the Programatica project has an expressive logic called P-logic, and tools supporting it: http://programatica.cs.pdx.edu/ Best, Till Am 25.10.2010 10:09, schrieb Romain Demeyer:
Hello,
I'm working on static verification in Haskell, and I search for existing works on specification of Haskell programs (such as pre/post conditions, for example) or any other functional language. It would be great if there exists a prover based on this kind of specifications. I already found the ESC/Haskell. Do you know some other works which could be interesting?
Thanks,
rde.
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Would someone like to make a Haskell Wiki page to summarise the responses to this thread? Simon | -----Original Message----- | From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of | Till Mossakowski | Sent: 26 October 2010 11:38 | To: haskell@haskell.org >> "haskell@haskell.org" | Subject: Re: [Haskell] Specification and prover for Haskell | | The Heterogeneous Tool Set supports HasCASL for specification | of Haskell programs, and uses Isabelle for proving | http://www.dfki.de/sks/hets | | Moreover, the Programatica project has an expressive logic | called P-logic, and tools supporting it: | http://programatica.cs.pdx.edu/ | | Best, Till | | Am 25.10.2010 10:09, schrieb Romain Demeyer: | > Hello, | > | > I'm working on static verification in Haskell, and I search for existing | > works on specification of Haskell programs (such as pre/post conditions, | > for example) or any other functional language. It would be great if | > there exists a prover based on this kind of specifications. I already | > found the ESC/Haskell. Do you know some other works which could be | > interesting? | > | > Thanks, | > | > rde. | > | > | > | > _______________________________________________ | > Haskell mailing list | > Haskell@haskell.org | > http://www.haskell.org/mailman/listinfo/haskell | | _______________________________________________ | Haskell mailing list | Haskell@haskell.org | http://www.haskell.org/mailman/listinfo/haskell
On Tue, 26 Oct 2010 12:43:36 +0200, Simon Peyton-Jones <simonpj@microsoft.com> wrote:
Would someone like to make a Haskell Wiki page to summarise the responses to this thread?
Simon
I have updated the page "Applications and libraries/Theorem provers" [0] and created the new wiki page "Specification and proof" [1]. I hope someone with more expertise on the subject will write the body of this new page. Regards, Henk-Jan van Tuyl [0] http://www.haskell.org/haskellwiki/Applications_and_libraries/Theorem_prover... [1] http://www.haskell.org/haskellwiki/Specification_and_proof -- http://Van.Tuyl.eu/ http://members.chello.nl/hjgtuyl/tourdemonad.html --
Haskell functions may be verified interactively and/or automatically with Expander2 (http://fldit-www.cs.uni-dortmund.de/~peter/Expander2.html ). Induction, coinduction, narrowing and extendable sets of simplification rules admit proofs and computations at various levels of automation. All derivations are recorded both in textual form and in terms of straight-line programs that allow their stepwise replay. Peter Padawitz http://fldit-www.cs.tu-dortmund.de
participants (9)
-
Gerwin Klein -
Henk-Jan van Tuyl -
Janis Voigtländer -
Jean-Marie Gaillourdet -
Peter Padawitz -
Romain Demeyer -
Simon Peyton-Jones -
Till Mossakowski -
Tristan Allwood