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

From Rosetta Code
Content added Content deleted
No edit summary
Line 3: Line 3:


==Features==
==Features==
Follow the examples of [[wp:Java_Modeling_Language]] and [[wp:SPARK_programming_language]].


Things that the pass might prove, for each function:
Things that the pass might prove, for each function:
* That all '''assert''' statements can not occur, or complain otherwise (if an '''assert''' statement cannot be proved to not fail)
* That all '''assert''' statements can not occur, or complain otherwise (if an '''assert''' statement cannot be proved to not fail)

Revision as of 17:22, 29 October 2010

Formal methods project

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

Features

Follow the examples of wp:Java_Modeling_Language and wp:SPARK_programming_language.


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

Further reading

Read this stuff:

Implementation methods


SMT Research

Related work

Non-Turing-complete languages

Other interesting languages