Fedora Formal Methods Special Interest Group (SIG)
What are Formal Methods?
"Formal methods" are techniques that use mathematics to prove that models of software, hardware, or systems will or will not have certain behavior. To be practical, they must be automated using tools. Free/Libre/Open Source Software (FLOSS) formal methods tools are now available, including automated theorem provers and model-checkers, but the tools can be difficult to install and apply.
Goal and Scope
The goal of the Formal Methods SIG is to make it easy to install formal methods tools in Fedora, ease learning how to apply them, encourage the development of "open proofs" (where an implementation, proofs, and required tools are all FLOSS), and to provide feedback to toolmakers so that the tools in Fedora can become more powerful, more scaleable, and easier to use together.
Mission and Plan
For more details, see the Mission Statement and Plan for the Formal Methods Fedora SIG.
- Mailing list: TBD. We may create a Fedora Formal Methods List. Alternatively, we may just use the existing open proofs mailing list... anyone have a preference?
- Package "Why" updated to version 2.23 (needed for frama-C)
- Package PVS; now packaged as pvs-sbcl
The following packages are our current focus and have someone working on them:
- Package critically-needed pvs libraries, so "Why" can invoke them (jjames)
- Update "Why" so it can invoke pvs-sbcl (jjames)
- Package frama-c (adunn)
- Package ACL2 (jjames looking at)
Of those, in particular it'd be great to see:
- Package APRON (a draft is available)
- Package Isabelle/HOL
- Package DiVinE-MC (a draft is available)
We intend to create a "formal methods" yum group soon, so that 'yum groupinstall "Formal methods"' will get you lots of packagey goodness. In the longer term, we hope to create a Fedora Spin with these packages.