Seeding Grammars in Grammatical Evolution to Improve Search Based Software Testing

Muhammad Sheraz Anjum, Conor Ryan

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Software-based optimization techniques have been increasingly used to automate code coverage analysis since the nineties. Although several studies suggest that interdependencies can exist between condition constructs in branching conditions of real life programs e.g. ((formula presented)) or ((formula presented)), etc., to date, only the Ariadne system, a Grammatical Evolution (GE)-based Search Based Software Testing (SBST) technique, exploits interdependencies between variables to efficiently automate code coverage analysis. Ariadne employs a simple attribute grammar to exploit these dependencies, which enables it to very efficiently evolve highly complex test cases, and has been compared favourably to other well-known techniques in the literature. However, Ariadne does not benefit from the interdependencies involving constants e.g. ((formula presented)), which are equally important constructs of condition predicates. Furthermore, constant creation in GE can be difficult, particularly with high precision. We propose to seed the grammar with constants extracted from the source code of the program under test in order to enhance and extend Ariadne’s capability to exploit richer types of dependencies (involving all combinations of both variables and constant values). We compared our results with the original system of Ariadne against a large set of benchmark problems which include 10 numeric programs in addition to the ones originally used for Ariadne. Our results demonstrate that the seeding strategy not only dramatically improves the generality of the system, as it improves the code coverage (effectiveness) by impressive margins, but it also reduces the search budgets (efficiency) often up to an order of magnitude.

Original languageEnglish
Title of host publicationGenetic Programming - 23rd European Conference, EuroGP 2020, Held as Part of EvoStar 2020, Proceedings
EditorsTing Hu, Nuno Lourenço, Eric Medvet, Federico Divina
PublisherSpringer
Pages18-34
Number of pages17
ISBN (Print)9783030440930
DOIs
Publication statusPublished - 2020
Event23rd European Conference on Genetic Programming, EuroGP 2020, held as part of EvoStar 2020 - Seville, Spain
Duration: 15 Apr 202017 Apr 2020

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume12101 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference23rd European Conference on Genetic Programming, EuroGP 2020, held as part of EvoStar 2020
Country/TerritorySpain
CitySeville
Period15/04/2017/04/20

Keywords

  • Automatic test case generation
  • Code coverage
  • Evolutionary Testing
  • Grammatical Evolution

Fingerprint

Dive into the research topics of 'Seeding Grammars in Grammatical Evolution to Improve Search Based Software Testing'. Together they form a unique fingerprint.

Cite this