Directed Grammar-Based Test Generation
Lukas Kirschner (Saarland University, University of Luxembourg), Ezekiel Soremekun (Singapore University of Technology, Design)

TL;DR
This paper introduces FdLoop, an automated goal-specific test generation method that learns input properties to effectively generate inputs targeting specific testing goals, outperforming existing grammar-based generators.
Contribution
The work presents FdLoop, a novel iterative learning approach for goal-specific test input generation using probabilistic grammars and feedback, applicable to multiple testing objectives.
Findings
FdLoop outperforms baseline generators in 86% of cases.
It is up to 2x more effective than the best baseline in inducing errors.
The approach scales well to multiple testing goals and varying parameters.
Abstract
To effectively test complex software, it is important to generate goal-specific inputs, i.e., inputs that achieve a specific testing goal. However, most state-of-the-art test generators are not designed to target specific goals. Notably, grammar-based test generators, which (randomly) produce syntactically valid inputs via an input specification (i.e., grammar) have a low probability of achieving an arbitrary testing goal. This work addresses this challenge by proposing an automated test generation approach (called FdLoop) which iteratively learns relevant input properties from existing inputs to drive the generation of goal-specific inputs. Given a testing goal, FdLoop iteratively selects, evolves and learn the input distribution of goal-specific test inputs via test feedback and a probabilistic grammar. We concretize FdLoop for four testing goals, namely unique code coverage,…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software Engineering Techniques and Practices
