included in Table2 is the average value over 15 runs
of the same experiment.
5 CONCLUSIONS AND FUTURE
WORK
This paper presented the implementation of a testing
approach based on the required k-tuples data flow
criterion which depends on the paths propagated
with k-interactions. The framework presented in this
work uses a program analyser to generate the control
and data flow graphs, builds dynamically the paths
according to data flow criterion, and searches and
discovers test cases for each of the paths; the user
can view the test cases and interact with the graphs
to view graphically the coverage of each test case.
Experimental results were presented on a number of
standard and random generated JAVA programs.
Future work will carry out additional experiments
using alternative implementations of the fitness
function in order to compare their performance and
investigate whether further improvements may be
achieved. Additionally we plan to implement a
representation model that will combine control flow
graphs with UML diagrammatical notations. This
will allow us to extend the representation models
depicting the execution flow so as to support various
features of object oriented code, such as interfaces
aspects, inheritance, polymorphism and dynamic
binding. Future work will also consider
implementing other data flow criteria (Rapps and
Weyuker 1982, Laski and Korel 1983), and compare
them with the current and previous work. Our
objective is to embed different types of errors in the
programs and compare the efficiency of the
implemented criteria in revealing these errors.
REFERENCES
Andreou, A. S., Economides, K. A. and Sofokleous, A. A.,
2007, An automatic software test-data generation
scheme based on data flow criteria and genetic
algorithms, in: Proceedings of the 7th IEEE
International Conference on Computer and
Information Technology, Fukushima, Japan, October,
(IEEE Computer Society: Los Alamitos, CA, USA),
pp 867-872.
Clarke, L. A., Podgurski, A., Richardson, D. J. and Zeil, S.
J., 1989, A Formal Evaluation of Data Flow Path
Selection Criteria, IEEE Transactions on Software
Engineering, 15(11), pp. 1318-1332.
Csallner, C. and Smaragdakis, Y., 2004, JCrasher: an
automatic robustness tester for Java, Software Practice
and Experience, 34(11), pp. 1025-1050.
Frankl, P. G. and Weyuker, E. J., 1988, An applicable
family of data flow testing criteria, IEEE Transactions
on Software Engineering, 14(10), pp. 1483-1498.
Ghiduk, A. S., Harrold, M. J. and Girgis, M. R., 2007,
Using Genetic Algorithms to Aid Test-Data
Generation for Data-Flow Coverage, in: Proceedings
of the 14th Asia-Pacific Software Engineering
Conference (APSEC '07), Nagoya, Japan, December,
(IEEE Computer Society: Washington, DC, USA), pp
41-48.
Girgis, M. R., 2005, Automatic Test Data Generation for
Data Flow Testing Using a Genetic Algorithm,
Journal of Universal Computer Science, 11(6), pp.
898-915.
Harman, M., 2007, The Current State and Future of Search
Based Software Engineering, in: Proceedings of the
29th International Conference on Software
Engineering (ICSE 2007): Future of Software
Engineering (FOSE '07), Minneapolis, MN, USA,
May 2007, (IEEE Computer Society: Los Alamitos,
CA, USA), pp 342-357.
Khamis, A., Bahgar, R. and Abdelaziz, R., 2000,
Automatic Test Data Generation Using Data Flow
Information, Dogus University Journal, (2), pp. 140-
153.
Korel, B., 1996, Automated test data generation for
programs with procedures, in: Proceedings of the 1996
ACM SIGSOFT international symposium on Software
testing and analysis , San Diego, California, United
States, (ACM Press: pp 209-215.
Laski, J. W. and Korel, B., 1983, Data flow oriented
program testing strategy, IEEE Transactions on
Software Engineering, 9(3), pp. 347-354.
Michael, C. C., Mcgraw, G. and Schatz, M. A., 2001,
Generating Software Test Data by Evolution, IEEE
Transactions on Software Engineering, 27(12), pp.
1085-1110.
Michalewicz, Z., 1996, Genetic. Algorithms + Data
Structures = Evolution Programs, 3rd edn., (Springer-
Verlag: London, UK).
Mitchell, M., 1999, An Introduction to Genetic
Algorithms, 1st edn., (MIT Press: London, Uk).
Nebut, C. and Fleurey, F., 2006, Automatic Test
Generation: A Use Case Driven Approach, IEEE
Transactions on Software Engineering,
32(3), pp. 140-
155.
Ntafos, S. C., 1988, A comparison of some structural
testing strategies, IEEE Transactions on Software
Engineering, 14(6), pp. 868-874.
Ntafos, S. C., 1984, On required element testing, IEEE
Transactions on Software Engineering, 10(6), pp. 795-
803.
Ntafos, S. C., 1981, On testing with required elements, in:
Proceedings of IEEE-CS COMPSAC, November 1981,
(IEEE CS: pp 132-139.
AUTOMATIC SEARCH-BASED TESTING WITH THE REQUIRED K-TUPLES CRITERION
255