User:Realazthat/Projects wishlist/LLVM/Formal methods: Difference between revisions

From Rosetta Code
Content added Content deleted
Line 46: Line 46:
* [[wp:Constraint_programming]]
* [[wp:Constraint_programming]]
*: How does this relate?
*: How does this relate?

* BLAST, SLAM, and PREfast
*: ddunbar mentioned these as similar to this project
** [http://research.microsoft.com/en-us/projects/slam/ SLAM], by MS, has [http://research.microsoft.com/pubs/121290/axioms.submitted.pdf a paper] which has the same idea for representing memory in SMT
* Slide show demonstrating same project, using LLVM: http://events.iaik.tugraz.at/avm2008/EvdinTorok_StaticMemoryAccessChecking.pdf
===Implementation methods===
===Implementation methods===
* [[wp:Hoare_logic]]
* [[wp:Hoare_logic]]
* [[wp:Agda_(theorem_prover)]]
* [[wp:Automated_theorem_proving]]


===SMT Research===
* http://research.microsoft.com/en-us/um/people/leonardo/lab.pdf
* SMT solver
* SMT solver
** http://www.cs.virginia.edu/~weimer/2007-615/lectures.html
** http://www.cs.virginia.edu/~weimer/2007-615/lectures.html
**: ddunbar on #llvm suggested reading for SMT
**: ddunbar on #llvm suggested reading for SMT
* [[wp:Agda_(theorem_prover)]]
* [[wp:Automated_theorem_proving]]
* www.key-project.org/keysymposium10/slides/Falke_LLBMC.pdf
* www.key-project.org/keysymposium10/slides/Falke_LLBMC.pdf
*: Another paper with details about LLVM => SMT
*: Another paper with details about LLVM => SMT
* BLAST, SLAM, and PREfast
*: ddunbar mentioned these as similar to this project
** [http://research.microsoft.com/en-us/projects/slam/ SLAM], by MS, has [http://research.microsoft.com/pubs/121290/axioms.submitted.pdf a paper] which has the same idea for representing memory in SMT
* Slide show demonstrating same project, using LLVM: http://events.iaik.tugraz.at/avm2008/EvdinTorok_StaticMemoryAccessChecking.pdf


==Related work==
==Related work==

Revision as of 06:06, 14 October 2010

Formal methods project

Write an LLVM pass that will prove certain properties of functions.

Features

Things that the pass might prove, for each function:

Test examples

  • Prove that a regular expression evaluator halts (IE. calculate the computational complexity).

Reference material

Implementation methods


SMT Research

Related work

Non-Turing-complete languages

Other interesting languages