ACM Home Page
Please provide us with feedback. Feedback
Automated test data generation using an iterative relaxation method
Full text PdfPdf (1.47 MB)
Source Foundations of Software Engineering archive
Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering table of contents
Lake Buena Vista, Florida, United States
Pages: 231 - 244  
Year of Publication: 1998
ISBN:1-58113-108-9
Also published in ...
Authors
Neelam Gupta  Dept. of Computer Science Purdue University West Lafayette, IN
Aditya P. Mathur  Dept. of Computer Science Purdue University West Lafayette, IN
Mary Lou Soffa  Dept. of Computer Science, University of Pittsburgh, Pittsburgh, PA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 23,   Downloads (12 Months): 113,   Citation Count: 28
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/288195.288321
What is a DOI?

ABSTRACT

An important problem that arises in path oriented testing is the generation of test data that causes a program to follow a given path. In this paper, we present a novel program execution based approach using an iterative relaxation method to address the above problem. In this method, test data generation is initiated with an arbitrarily chosen input from a given domain. This input is then iteratively refined to obtain an input on which all the branch predicates on the given path evaluate to the desired outcome. In each iteration the program statements relevant to the evaluation of each branch predicate on the path are executed, and a set of linear constraints is derived. The constraints are then solved to obtain the increments for the input. These increments are added to the current input to obtain the input for the next iteration. The relaxation technique used in deriving the constraints provides feedback on the amount by which each input variable should be adjusted for the branches on the path to evaluate to the desired outcome.When the branch conditions on a path are linear functions of input variables, our technique either finds a solution for such paths in one iteration or it guarantees that the path is infeasible. In contrast, existing execution based approaches may require an unacceptably large number of iterations for relatively long paths because they consider only one input variable and one branch predicate at a time and use backtracking. When the branch conditions on a path are nonlinear functions of input variables, though it may take more then one iteration to derive a desired input, the set of constraints to be solved in each iteration is linear and is solved using Gaussian elimination. This makes our technique practical and suitable for automation.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
L.A. Clarke, "A System to Generate Test Data and SymboIicaIIy Execute Programs," IEEE Transactions on Software Engineering, Vol. SE2, No. 3, pages 215-222, September 1976.
 
5
 
6
 
7
8
 
9
 
10
 
11
B. Korel, A Dynamic Approach of Test Data Generation. In Conference on Software Maintenance, pages 311-317, San Diego, CA, November 1990.
12
13
 
14
W. MiIIer and D.L. Spooner, "Automatic Generation of Floating-Point Test Data," IEEE Transactions on Software Engineering, Vol. SE2, No. 3, pages 223-226, September 1976.
 
15
F. Scheid, "Numerical Analysis," Schaum' s Outline Series, McGraw-Hill Book Company, 1968.

CITED BY  28

Collaborative Colleagues:
Neelam Gupta: colleagues
Aditya P. Mathur: colleagues
Mary Lou Soffa: colleagues