Integrating FDR into Other Tools

FDR can also be integrated into other tools by utilising either a simple machine-readable output format, or using the more powerful API. These both allow for FDR to be used as a verification back-end for other tools. These APIs both expose various capabilities, including the ability to run assertions and then inspect the counterexamples. There are two ways of integrating with FDR:

  1. Use the machine-readable output of the command-line tool.
  2. Use the FDR API, which is available for C++, Java, and Python.

For anything but the most trivial applications, we strongly recommend the use of the API over the command-line tool. This is because the API allows for much finer control over FDR, such as choosing which assertions to run and when. Further, whilst the machine-readable interface will not be augmented in the future, the API can be extended if additional functionality is required.


Note that you may not bundle FDR with your tools (i.e. include a copy of FDR as part of the download of your own tool). You must instead direct your users to download FDR directly from the website, thus ensuring that the user is aware of the FDR license terms.