News / dates
-
October 2022 - v1.2.0 release.
-
September 2021 -
v1.1.1 of CamFort has been released,
bringing back Windows+Mac support. We also have some
in-depth compilation instructions for Windows
if you'd like to build from source.
- March 2021 -
v1.0.1 of CamFort has been released, mostly updated CamFort to
work with latest dependencies. This also includes new versions of
our core libraries:
And we have a new Research Assistant, Ben Orchard, working on the
project!
- November 2020 - Dominic is talking about our work at the
workshop on Human Aspects of Types and Reasoning Assistants
colocated with SPLASH 2020, talking about Guiding
user annotations for units-of-measure verification (pdf).
- 30th August 2019 -
v1.0 of CamFort has been released
. The main changes are:
- Update to new fortran-src version 0.4.0.
- New command: basic-checks, which runs a series of other checks in Simple.hs.
- Add max-lines threshold for snippets output, currently 5.
- Rename units-compile to units-summarise/summarize.
- Bring over same command-line flexibility to units-compile as 'fortran-src -c', can specify multiple files-or-directories.
- Use ModGraph functionality to allow units-summarise to build dependency graphs and summarise in build-order.
- Search includedir recursively for mod-files, like fortran-src.
- Numerous changes to increase strictness and reduce memory usage: use Pipes, avoid constructing needlessly large graphs.
- A Linux x86-64 binary bundle is available for download from the release webpage.
- 17th June 2019 -
v0.906 of CamFort has been released
. The main changes are:
- Update to new fortran-src version 0.3.0.
- Add array-check, alloc-check, use-check, fp-check and implicit-none features.
- A collection of sanity checks on Fortran code looking for common issues, possible problems or potential inefficiencies.
- Introduce a divide-and-conquer methodology for solving units-inference problems, reducing the size of the matrices and taking advantage of SMP where available.
- Treat constant-expressions and parameter variables as literals, for units-inference purposes, making it easier to retrofit units annotations onto existing programs.
- Add 'units-infer --show-ast' feature, which decorates the displayed AST (internal data structure) with units information on each expression.
- Made assorted efficiency improvements to the units solver and other features, especially for large projects with many files.
- Add 'units-check --dump-mod-file' feature that lets you view an 'fsmod' file's contents with regard to units info.
- Allow override of Fortran version used by parser using -F option.
- 18th May 2018 -
v0.905 of CamFort has been released
. The main changes are:
- Extended support for Fortran 95 & legacy extensions;
- Improved units-of-measure checking (performance & functionality)
- Prototype for Hoare logic style verification assertions back by SMT solving
- October 2017 -
Our paper
Verifying Spatial Properties of Array Computations has been
accepted at the ACM OOPSLA 2017 conference. Dominic will present the
paper in Vancouver on 26th of October.
- 26th July 2017 -
v0.904 of CamFort has been released
. The main changes are:
- Better protection against dependencies breaking builds;
- Significantly reduced build time;
- Better command line interface;
- Improved error messages;
- Bug fixes to stencil specifications
- 24-26th July 2017 - We are talking about CamFort at the
Fortran
modernization workshop
at Universitat Politechnica de Catalunya, Barcelona, Spain.
(details).
- 30th May 2017 -
v0.902 of CamFort has been released. The main changes are:
- Improved stencil specification support;
- Polymorphic unit signatures (see this
example);
- Much faster verification times.
Download
The source code for CamFort is hosted on
GitHub.
Latest binary release for Windows, Mac OS, and Linux:
v1.2.0 (Oct 2022).
Mailing list
For help and announcements you can sign-up to our
mailing list.
Events
An introduction to CamFort and training material is provided
as part of the Fortran
Modernization Workshops run by the Numerical Algorithms Group (nag) in the UK and
Europe.
We organise an annual workshop on Testing and Verification in
Computational Science. Previous versions:
Project
CamFort is a joint project between the University of Cambridge
and University of Kent
supported by an EPSRC
grant.