Data Dependence Based Testability Transformation in Automated Test Generation

  • Authors:
  • Bogdan Korel;Mark Harman;S. Chung;P. Apirukvorapinit;R. Gupta;Q. Zhang

  • Affiliations:
  • Illinois Institute of Technology;King's College London;Illinois Institute of Technology;Illinois Institute of Technology;Illinois Institute of Technology;Illinois Institute of Technology

  • Venue:
  • ISSRE '05 Proceedings of the 16th IEEE International Symposium on Software Reliability Engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Source-code based test data generation is a process of finding program input on which a selected element, e.g., a target statement, is executed. There exist many test generation methods that automatically find a solution to the test generation problem. The existing methods work well for many programs. However, they may fail or are inefficient for programs with complex logic and intricate relationships between program elements. In this paper we present a testability transformation that transforms programs so that the chances of finding a solution are increased when the existing methods fail using only the original program. In our approach data dependence analysis is used to identify statements in the program that affect computation of the fitness function associated with the target statement. The transformed program contains only these statements, and it is used to explore different ways the fitness may be computed. These explorations are inexpensive when using the transformed program as compared to explorations using the original program. As a result, executions in the transformed program that lead to the evaluation of the fitness function to the target value are identified. The identified executions are then used to guide the search in the original program to find an input on which the target statement is executed. In this paper, the approach is evaluated using a case study which demonstrates the potential for this testability transformation to improve the efficacy of the test generation.