TY - GEN
T1 - Ariadne
T2 - 22nd European Conference on Genetic Programming, EuroGP 2019, held as part of EvoStar 2019
AU - Anjum, Muhammad Sheraz
AU - Ryan, Conor
N1 - Publisher Copyright:
© Springer Nature Switzerland AG 2019.
PY - 2019
Y1 - 2019
N2 - Software testing is a key component in software quality assurance; it typically involves generating test data that exercises all instructions and tested conditions in a program and, due to its complexity, can consume as much as 50% of overall software development budget. Some evolutionary computing techniques have been successfully applied to automate the process of test data generation but no existing techniques exploit variable interdependencies in the process of test data generation, even though several studies from the software testing literature suggest that the variables examined in the branching conditions of real life programs are often interdependent on each other, for example, if (x == y), etc. We propose the Ariadne system which uses Grammatical Evolution (GE) and a simple Attribute Grammar to exploit the variable interdependencies in the process of test data generation. Our results show that Ariadne dramatically improves both effectiveness and efficiency when compared with existing techniques based upon well-established criteria, attaining coverage (the standard software testing success metric for these sorts of problems) of 100% on all benchmarks with far fewer program evaluations (often between a third and a tenth of other systems).
AB - Software testing is a key component in software quality assurance; it typically involves generating test data that exercises all instructions and tested conditions in a program and, due to its complexity, can consume as much as 50% of overall software development budget. Some evolutionary computing techniques have been successfully applied to automate the process of test data generation but no existing techniques exploit variable interdependencies in the process of test data generation, even though several studies from the software testing literature suggest that the variables examined in the branching conditions of real life programs are often interdependent on each other, for example, if (x == y), etc. We propose the Ariadne system which uses Grammatical Evolution (GE) and a simple Attribute Grammar to exploit the variable interdependencies in the process of test data generation. Our results show that Ariadne dramatically improves both effectiveness and efficiency when compared with existing techniques based upon well-established criteria, attaining coverage (the standard software testing success metric for these sorts of problems) of 100% on all benchmarks with far fewer program evaluations (often between a third and a tenth of other systems).
KW - Automatic test case generation
KW - Code coverage
KW - Evolutionary testing
KW - Grammatical Evolution
KW - Variable interdependencies
UR - http://www.scopus.com/inward/record.url?scp=85064942808&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-16670-0_1
DO - 10.1007/978-3-030-16670-0_1
M3 - Conference contribution
AN - SCOPUS:85064942808
SN - 9783030166694
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 3
EP - 18
BT - Genetic Programming - 22nd European Conference, EuroGP 2019, Held as Part of EvoStar 2019, Proceedings
A2 - García-Sánchez, Pablo
A2 - Lourenço, Nuno
A2 - Richter, Hendrik
A2 - Sekanina, Lukas
A2 - Hu, Ting
PB - Springer Verlag
Y2 - 24 April 2019 through 26 April 2019
ER -