Skip to content

Releases: se2p/whisker

Whisker Version 0.8.1

10 Oct 14:46
Compare
Choose a tag to compare

This is a minor release updating the Whisker logo.

Whisker Version 0.8

10 Oct 13:40
Compare
Choose a tag to compare

Besides many bug fixes, this release contains several major changes:

New Whisker-UI

With this update, we have completely overhauled the look and feel of Whisker, making it more intuitive and user-friendly than ever before. The new interface has been designed with simplicity and ease-of-use in mind, allowing users to easily navigate through Whisker's various features.


Neatest

  • Integration of gradient descent into Neatest as an alternative weight mutation operator.
  • Adds early stopping and multitask-learning regularisation techniques.
  • Improvements for the neural network layer structure.
  • Adds specifiable seeding for Neatest's starting populations.
  • Improves parameter derivation for several ScratchEvents.
  • Adds the mouse position to the set of extracted input features if there are corresponding listeners.

Other changes:

  • Integration of NuzzleBug
  • Adds new cli option "open" to open a Whisker page with a specified Scratch program without generating or executing tests right away.
  • Adds a recorder (StateActionRecorder.ts) to record the executed actions and visited states while a user interacts with the loaded Scratch program in the Whisker UI.

Whisker Version 0.7

22 Sep 18:52
Compare
Choose a tag to compare

This release includes countless bug fixes and improvements as well as the following major changes:

Improvements to automated test generation

In addition to generating test inputs, Whisker's automatic test generation procedure can now generate regression assertions based on changes observed during the execution of a program. Moreover, after the generation process, tests may now be automatically minimised by removing unnecessary input statements.

More information can be found in the following preprint: https://arxiv.org/abs/2202.06274

Mutation Framework

As part of this release, Whisker includes a mutation framework, which can be used to generate variants of .sb3 programs. The framework offers the following mutation operators:

  • Key Replacement Mutation: Replaces the key argument of keyboard event handler with a randomly chosen key.
  • Single Block Deletion: Removes a block that is neither a hat nor a branching block.
  • Script Deletion Mutation: Deletes a script by removing its hat block.
  • Arithmetic Operator Replacement: Replaces an arithmetic operator with a randomly chosen one.
  • Logical Operator Replacement: Replaces a logical operator (and, or) with the opposing one.
  • Relational Operator Replacement: Replaces a relational operator with a randomly chosen one.
  • Negate Conditional Mutation: Negates boolean blocks.
  • Variable Replacement Mutation: Replaces a variable with a randomly chosen one.

Neatest

Neatest is a novel test generation approach based on neuroevolution that uses a combined fitness function of branch distance and approach. The goal of Neatest is to test Scratch games reliably by generating neural networks that are able to adapt to randomised program behaviour. Moreover, Neatest adds a novel test oracle based on the Likelihood Surprise Adequacy metric that is able to differentiate faulty program behaviour from novel behaviour as it is often introduced by randomised programs.

More information can be found in the following preprint: https://arxiv.org/abs/2208.13632

Improved command line interface

We have completely refactored the command line interface in order to improve Whisker's usability. For more information, please refer to the updated README.

Whisker Version 0.6

15 Feb 10:58
Compare
Choose a tag to compare

Besides various bug fixes and improvements this release includes two major changes:

Model-based testing

Whisker now supports model based testing. You can create state machine models that check the behaviour of the program under test, as well as models that create inputs to exercise the program under test.

More information can be found in the following preprint: https://arxiv.org/abs/2202.06271

Automated test generation

Automated test generation in Whisker has received a complete overhaul, including improved search algorithms, fitness functions, representation, and countless fixes.

More information can be found in the following preprint: https://arxiv.org/abs/2202.06274

Whisker Version 0.5.1

24 Aug 05:58
Compare
Choose a tag to compare

This is a bugfix release that fixes the servant frontend with respect to recent UI changes.

Whisker Version 0.5

19 Aug 19:17
Compare
Choose a tag to compare

This is a much improved version of Whisker:

  • Improved deterministic test execution, even in acceleration mode
  • Completely revised user interface
  • Reworked and improved test generation
  • Many bug fixes and improvements

Whisker Version 0.4

23 Dec 14:22
Compare
Choose a tag to compare

This is the first public release of Whisker, which integrates

  • The Whisker test automation infrastructure
  • Automated, search-based generation of Whisker tests
  • Headless, accelerated test execution

For details please see the README.md