Tools
A listing of some learning and testing tools:
- LearnLib: a free, open-source (LGPLv3) Java library for active automata learning. A simple getting-started project can be found here.
- LibAlf: a comprehensive, open-source library for learning finite-state automata covering various well-known learning techniques (such as Angluin's L*, Biermann's learning approach, and RPNI), as well as novel learning algorithms (e.g. for NFA and visibly one-counter automata).
- RALib: a library for active learning algorithms for register automata. RALib is licensed under the Apache License, Version 2.0. RALib is developed as an extension to LearnLib.
- Tomte: a tool for learning register automata. The tool uses counterexample guided abstraction refinement to automatically construct abstractions, and uses a Mealy machine learner (such as LearnLib) as a back-end.
- (J)Torx: JTorX [Bel10] is an update of the model-based testing tool TorX [TB03]. TorX is a model-based testing tool that uses labeled transition systems to derive and execute tests (execution traces) based on ioco [Tre08], a theory for defining when an implementation of a given specification is correct. Using on-line testing, JTorX can easily generate and execute tests consisting of more than 1 000 000 test events. JTorX is easier to deploy and uses a more advanced version of ioco. It contains a graphical user interface for easy configuration, a simulator for guided evaluation of a test trace, interfaces for communication with an SUT, and state-of-the-art testing algorithms.
- TorXakis: a tool for model based testing.
- AALpy: an extensible open-source Python library providing efficient implementations of active automata learning algorithms for deterministic, non-deterministic, and stochastic systems. Special focus is put on the conformance testing aspect in active automata learning, as well as on an intuitive and seamlessly integrated interface for learning automata characterizing real-world reactive systems.