Applications of Genetic Algorithms in Software Test Automation
1-2 short or long theses
The validation of software systems is typically performed by testing them following systematic strategies, thus maximizing chances of uncovering faults. This is particularly important for safety critical systems. It is of the highest practical importance that testing be automated to the fullest extent possible. This implies automatically generating test requirements, test cases, test oracles, and test drivers. In the recent past, researchers and engineers have been exploring the use of various artificial intelligence (AI) techniques so as to address many of these automation issues. A frequent example is the use of genetic algorithms (GAs) to find test inputs that maximize the coverage of source code.
What you will do:
Support researchers on
- analyzing the literature on the application of GAs to software testing,
- designing and implementing GA algorithms to address specific testing problems,
- evaluating the effectiveness of these algorithms on actual case studies, and
- implementing these algorithms in user friendly tools.
What you will learn:
You will gain in-depth knowledge of software testing issues and techniques (which are in high demand in industry) and AI search algorithms (such as genetic algorithms), which have widespread applications across many domains.