flexfringe is a passive automata learning model with an emphasis on flexibility in merge heuristic and model type.
Please bear with us while we prepare flexfringe for publication, including a tool paper, some (interactive) demos as well as introduction videos.
In the meanwhile, please feel free to reach out to me at Christian dot HAMMERSCHMIDT a uni lu for support and assistance with flexfringe. Thank you.
To build flexfringe, you need to have the libpopt-dev library for argument parsing. Some heuristic functions bring their own dependencies: We provide an implementation of a likelihood-based merge function for probabilistic DFAs. It needs the GNU scientific library (development) package (e.g. the libgsl-dev package in Ubuntu).
If you want to use the reduction to SAT and automatically invoke the SAT solver, you need to provide the path to the solver binary. flexfringe has been tested with lingeling (which you can get from http://fmv.jku.at/lingeling/ and run its build.sh).
You can build and compile the flexfringe project by running
$ make clean all
in the main directory to build the executable named flexfringe.
Run ./flexfringe –help to get help.
The start.sh script together with some .ini files provides a shortcut to storing
$ ./start.sh mealy-batch.ini data/simple.traces
See the .ini files for documentation of parameter flags.
flexfringe will output some .dot files. You can visualize them using the ./show.sh script or running dot explicitly
$ dot -Tpdf file.dot -o outfile.pdf or $ ./show.sh final.dot
You can checkout the latest version of flexfringe at https://bitbucket.org/chrshmmmr/dfasat/src/dfb49affd0bbab76f51d3d089ad8403f4612c65e/?at=development.
Is it fast?