TL;DR
This paper introduces Neatest, a neuroevolution-based test generator for games that learns to reliably explore code and serve as a test oracle, effectively handling randomness in game behavior.
Contribution
Neatest is a novel approach that uses NEAT to generate neural networks capable of systematically exploring game code and acting as test oracles in randomized game environments.
Findings
Neatest achieves over 65% mutation score on Scratch games.
Neatest produces neural networks resilient to randomness.
The approach outperforms traditional static test sequences.
Abstract
Game-like programs have become increasingly popular in many software engineering domains such as mobile apps, web applications, or programming education. However, creating tests for programs that have the purpose of challenging human players is a daunting task for automatic test generators. Even if test generation succeeds in finding a relevant sequence of events to exercise a program, the randomized nature of games means that it may neither be possible to reproduce the exact program behavior underlying this sequence, nor to create test assertions checking if observed randomized game behavior is correct. To overcome these problems, we propose Neatest, a novel test generator based on the NeuroEvolution of Augmenting Topologies (NEAT) algorithm. Neatest systematically explores a program's statements, and creates neural networks that operate the program in order to reliably reach each…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
