Releases: se2p/whisker
Whisker Version 0.8.1
Whisker Version 0.8
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
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
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
This is a bugfix release that fixes the servant frontend with respect to recent UI changes.
Whisker Version 0.5
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
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