Skip to content

learnlib-0.13.0

Compare
Choose a tag to compare
@mtf90 mtf90 released this 27 Feb 15:51
· 432 commits to develop since this release

Full changelog

Added

  • Added randomized version of W(p)-Method based equivalence oracles (see #40)
  • Added the ADT (adaptive distinguishing tree) active learning algorithm
  • Added two active learning algorithms for visibly pushdown languages.
  • Added the RPNI (regular positive-negative inference) passive learning algorithm, including EDSM (evidence-driven state merging) and MDL (minimum description length) variants.
  • Many active learning algorithms now support adding additional alphabet symbols after initial instantiation/starting of the learning process.
  • Added support for suspending the learning process to a savable / serializable state. The learning process may be resumed from this state at a later point in time.
  • Added the AbstractTestWordEQOracle class, which allows to implement custom equivalence oracles solely based on lazy (stream-based) test-word generation. Existing equivalence oracles (as far as possible) have been reworked to extend this class and thus profit from its built-in laziness and batch (parallelization) support.

Changed

  • Refactored the Maven artifact and Java package structure. Have a look at the List of LearnLib Artifacts for an updated overview of available artifacts. In general, no functionality should have been removed (except of code marked with @Deprecated). The easiest way to migrate your code to the new version is probably by using the Auto-Import feature of your IDE of choice.

    The non-trivial refactorings include:

    • API methods no longer use wildcards in generic return parameters. This allows your code to not having to deal with them.
    • Changes to AutomataLib.
  • Replaced System.out and JUL logging, with calls to a SLF4j facade.

  • Code improvements due to employment of several static code-analysis plugins (findbugs, checkstyle, PMD, etc.) as well as setting up continuous integration at Travis CI.

Fixed

  • Several bugs detected either by our newly employed static code-analysis toolchain or by our ongoing efforts to write tests.