A demand-driven analyzer for data flow testing at the integration level

  • Authors:
  • Evelyn Duesterwald;Rajiv Gupta;Mary Lou Soffa

  • Affiliations:
  • Department of Computer Science, University of Pittsburgh, Pittsburgh, PA;Department of Computer Science, University of Pittsburgh, Pittsburgh, PA;Department of Computer Science, University of Pittsburgh, Pittsburgh, PA

  • Venue:
  • Proceedings of the 18th international conference on Software engineering
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data-flow testing relies on static analysis for computing the definition-use pairs that serve as the test case requirements for a program. When testing large programs, the individual procedures are first tested in isolation during unit testing. Integration testing is performed to specifically test the procedure interfaces. The procedures in a program are integrated and tested in several steps. Since each integration step requires data-flow analysis to determine the new test requirements, the accumulated cost of repeatedly analyzing a program can contribute considerably to the overhead of testing. Data-flow analysis is typically computed using an exhaustive approach or by using incremental data-flow updates. This paper presents a new and more efficient approach to data-flow integration testing that is based on demand-driven analysis. We developed and implemented a demand-driven analyzer and experimentally compared its performance during integration testing with the performance of (i) a traditional exhaustive analyzer, and (ii) an incremental analyzer. Our experiments show that demand-driven analysis is faster than exhaustive analysis by up to a factor of 25. The demand-driven analyzer also outperforms the incremental analyzer in 80% of the test programs by up to a factor of 5.