Software testing and evaluation
Software testing and evaluation
Combining Static Concurrency Analysis with Symbolic Execution
IEEE Transactions on Software Engineering
A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
Automated Software Test Data Generation
IEEE Transactions on Software Engineering
Dynamic slicing of computer programs
Journal of Systems and Software
Constraint-Based Automatic Test Data Generation
IEEE Transactions on Software Engineering
Experimental results from an automatic test case generator
ACM Transactions on Software Engineering and Methodology (TOSEM)
Dynamic method of test data generation for distributed software
Information and Software Technology
Reproducible testing of concurrent Ada programs
Proceedings of the second conference on Software development tools, techniques, and alternatives
Sequential Search: A Method for Solving Constrained Optimization Problems
Journal of the ACM (JACM)
Art of Software Testing
ATLAS-An Automated Software Testing System
ICSE '76 Proceedings of the 2nd international conference on Software engineering
A System to Generate Test Data and Symbolically Execute Programs
IEEE Transactions on Software Engineering
On the Automated Generation of Program Test Data
IEEE Transactions on Software Engineering
Symbolic Testing and the DISSECT Symbolic Evaluation System
IEEE Transactions on Software Engineering
The economics of software quality assurance
AFIPS '76 Proceedings of the June 7-10, 1976, national computer conference and exposition
High quality behavioral verification using statistical stopping criteria
Proceedings of the conference on Design, automation and test in Europe
Evolutionary testing of state-based programs
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Evolutionary Testing Using an Extended Chaining Approach
Evolutionary Computation
Hi-index | 0.01 |
Software testing is very labour-intensive and expensive, and accounts for a significant proportion of software system development cost. If the testing process could be automated, the cost of developing software could be significantly reduced. Currently, most of the existing test data generators are for sequential programs. One of the major problems in dynamic testing of distributed software is reproducible program execution. Distributed programs often make non-deterministic selections of communications events, e.g. the select statement in Ada. Thus, a test case for the distributed program is defined as a set of input data plus a sequence of events that is used to resolve any non-deterministic choices that are possible during program execution. In this paper, we present a chaining approach for automated software test data generation for distributed software. This approach builds on current theory of existing execution-oriented test data generation. The goal is to find program input and a rendezvous sequence on which the selected statement is executed. The chaining approach uses program dependency analysis to identify statements that affect the execution of the selected statement. These statements are then used to guide the test data generation process. The experiments have shown that the chaining approach may significantly improve the chances of generating test data as compared to the existing methods.