Object Oriented Software Testing with Genetic Programming and Program Analysis

Object Oriented Software Testing with Genetic Programming and Program Analysis

Arjan Seesing, Hans-Gerhard Gross
ISBN13: 9781615208098|ISBN10: 1615208097|ISBN13 Softcover: 9781616923211|EISBN13: 9781615208104
DOI: 10.4018/978-1-61520-809-8.ch010
Cite Chapter Cite Chapter

MLA

Seesing, Arjan, and Hans-Gerhard Gross. "Object Oriented Software Testing with Genetic Programming and Program Analysis." Evolutionary Computation and Optimization Algorithms in Software Engineering: Applications and Techniques, edited by Monica Chis, IGI Global, 2010, pp. 184-199. https://doi.org/10.4018/978-1-61520-809-8.ch010

APA

Seesing, A. & Gross, H. (2010). Object Oriented Software Testing with Genetic Programming and Program Analysis. In M. Chis (Ed.), Evolutionary Computation and Optimization Algorithms in Software Engineering: Applications and Techniques (pp. 184-199). IGI Global. https://doi.org/10.4018/978-1-61520-809-8.ch010

Chicago

Seesing, Arjan, and Hans-Gerhard Gross. "Object Oriented Software Testing with Genetic Programming and Program Analysis." In Evolutionary Computation and Optimization Algorithms in Software Engineering: Applications and Techniques, edited by Monica Chis, 184-199. Hershey, PA: IGI Global, 2010. https://doi.org/10.4018/978-1-61520-809-8.ch010

Export Reference

Mendeley
Favorite

Abstract

Testing is a difficult and costly activity in the development of object-oriented programs. The challenge is to come up with a sufficient set of test scenarios, out of the typically huge volume of possible test cases, to demonstrate correct behavior and acceptable quality of the software. This can be reformulated as a search problem to be solved by sophisticated heuristic search techniques such as evolutionary algorithms. The goal is to find an optimal set of test cases to achieve a given test coverage criterion. This chapter introduces and evaluates genetic programming as a heuristic search algorithm which is suitable to evolve object-oriented test programs automatically to achieve high coverage of a class. It outlines why the object paradigm is different to the procedural paradigm with respect to testing, and why a genetic programming approach might be better suited than the genetic algorithms typically used for testing procedural code. The evaluation of our implementation of a genetic programming approach, augmented with program analysis techniques for better performance, indicates that object-oriented software testing with genetic programming is feasible in principle. However, having many adjustable parameters, evolutionary search heuristics have to be fined-tuned to the optimization problem at hand for optimal performance, and, therefore, represent a difficult optimization problem in their own right.

Request Access

You do not own this content. Please login to recommend this title to your institution's librarian or purchase it from the IGI Global bookstore.