Evolutionary unit testing of object-oriented software using strongly-typed genetic programming

Created by W.Langdon from gp-bibliography.bib Revision:1.4524

  author =       "Stefan Wappler and Joachim Wegener",
  title =        "Evolutionary unit testing of object-oriented software
                 using strongly-typed genetic programming",
  booktitle =    "{GECCO 2006:} Proceedings of the 8th annual conference
                 on Genetic and evolutionary computation",
  year =         "2006",
  editor =       "Maarten Keijzer and Mike Cattolico and Dirk Arnold and 
                 Vladan Babovic and Christian Blum and Peter Bosman and 
                 Martin V. Butz and Carlos {Coello Coello} and 
                 Dipankar Dasgupta and Sevan G. Ficici and James Foster and 
                 Arturo Hernandez-Aguirre and Greg Hornby and 
                 Hod Lipson and Phil McMinn and Jason Moore and Guenther Raidl and 
                 Franz Rothlauf and Conor Ryan and Dirk Thierens",
  volume =       "2",
  ISBN =         "1-59593-186-4",
  pages =        "1925--1932",
  address =      "Seattle, Washington, USA",
  URL =          "http://www.cs.bham.ac.uk/~wbl/biblio/gecco2006/docs/p1925.pdf",
  DOI =          "doi:10.1145/1143997.1144317",
  publisher =    "ACM Press",
  publisher_address = "New York, NY, 10286-1405, USA",
  month =        "8-12 " # jul,
  organisation = "ACM SIGEVO (formerly ISGEC)",
  keywords =     "genetic algorithms, genetic programming, Search-Based
                 Software Engineering, automated test case generation,
                 evolutionary testing, object-orientation,
                 strongly-typed genetic programming, test coverage of
                 code, testing tools, verification, Java, OO unit
                 testing, STGP",
  size =         "8 pages",
  abstract =     "Evolutionary algorithms have successfully been applied
                 to software testing. Not only approaches that search
                 for numeric test data for procedural test objects have
                 been investigated, but also techniques for
                 automatically generating test programs that represent
                 object-oriented unit test cases. Compared to numeric
                 test data, test programs optimized for object-oriented
                 unit testing are more complex. Method call sequences
                 that realize interesting test scenarios must be
                 evolved. An arbitrary method call sequence is not
                 necessarily feasible due to call dependences which
                 exist among the methods that potentially appear in a
                 method call sequence. The approach presented in this
                 paper relies on a tree-based representation of method
                 call sequences by which sequence feasibility is
                 preserved throughout the entire search process. In
                 contrast to other approaches in this area, neither
                 repair of individuals nor penalty mechanisms are
                 required. Strongly typed genetic programming is
                 employed to generate method call trees. In order to
                 deal with runtime exceptions, we use an extended
                 distance-based fitness function. We performed
                 experiments with four test objects. The initial results
                 are promising: high code coverages were achieved
                 completely automatically for all of the test objects.",
  notes =        "GECCO-2006 A joint meeting of the fifteenth
                 international conference on genetic algorithms
                 (ICGA-2006) and the eleventh annual genetic programming
                 conference (GP-2006).

                 ACM Order Number 910060.

                 Two stage EA: GP (ECJ) run first then every tree's
                 {"}numerical parameters{"} optimised by a separate EA
                 (GEATbx). Polymorphic set-based typing. Aim is to cover
                 a particular program branch in class under test (CUT).
                 Fitness is linear combination of three (software
                 engineering) metrics. Static analysis done using
                 Tatsubori's OpenJava. GP pop=10. GEATbx 4 pops, each of
                 ten. Problems stack, BitSet, full test coverage of each

Genetic Programming entries for Stefan Wappler Joachim Wegener