Genetic Micro-Programs for Automated Software Testing with Large Path Coverage
Jarrod Goschen, Anna Sergeevna Bosman, Stefan Gruner

TL;DR
This paper introduces a genetic micro-programming approach for automated software testing that generates reusable input-generating micro-programs, achieving high path coverage efficiently across various software systems.
Contribution
It presents a novel genetic micro-programming framework that evolves reusable input-generating micro-programs, reducing search time and increasing generalizability in automated software testing.
Findings
Efficient exploration of input domains using micro-programs
High path coverage achieved across multiple software systems
Reduced search time compared to traditional methods
Abstract
Ongoing progress in computational intelligence (CI) has led to an increased desire to apply CI techniques for the purpose of improving software engineering processes, particularly software testing. Existing state-of-the-art automated software testing techniques focus on utilising search algorithms to discover input values that achieve high execution path coverage. These algorithms are trained on the same code that they intend to test, requiring instrumentation and lengthy search times to test each software component. This paper outlines a novel genetic programming framework, where the evolved solutions are not input values, but micro-programs that can repeatedly generate input values to efficiently explore a software component's input parameter domain. We also argue that our approach can be generalised such as to be applied to many different software systems, and is thus not specific to…
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.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Machine Learning and Data Classification · Evolutionary Algorithms and Applications
MethodsTest
