Evolutionary approach to generating test data for data flow test

Evolutionary approach to generating test data for data flow test

For access to this article, please select a purchase option:

Buy article PDF
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Your details
Why are you recommending this title?
Select reason:
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Software testing consumes a significant portion of software effort. Program entities such as branch or definition–use pairs (DUPs) are used in diverse software development tasks. In this study, the authors present a novel evolution-based approach to generating test data for all definition–use coverage. First, the subset of DUPs, which can ensure the coverage adequacy, is computed by a reduction algorithm for the whole DUPs. Then they apply a genetic algorithm to generate test data for the subset of DUPs. Furthermore, the fitness of an individual depends on the matching degree between the traversed path and the definition-clear path of each target DUP. They also investigate the coverage and the size of test cases of test data generation by applying the authors’ approach on 15 widely used subject programs. The experimental results show that their approach can reduce the size of test cases that generated without affecting the coverage rate.


    1. 1)
      • 1. Sinha, S., Harrold, M.J.: ‘Criteria for testing exception-handling constructs in Java programs’. Proc. Int. Conf. on Software Maintenance, Oxford, UK, August 1999, pp. 265274.
    2. 2)
      • 2. Girgis, M.R.: ‘Automatic test data generation for data flow testing using a genetic algorithm’, J. Univer. Comput. Sci., 2005, 11, (6), pp. 898915.
    3. 3)
      • 3. Ghiduk, A.S., Harrold, M.J., Girgis, M.R.: ‘Using genetic algorithms to aid test-data generation for dataflow coverage’. Proc. Int. Conf. on Asia-Pacific Software Engineering, Nagoya, Japan, December 2007, pp. 4148.
    4. 4)
      • 4. Ferrante, J., Ottenstein, K.J., Warren, J.D.: ‘The program dependence graph and its use in optimization’, ACM Trans. Program. Lang. Syst., 1987, 9, (3), pp. 319349.
    5. 5)
      • 5. Weiser, M.: ‘Program slicing’. Proc. Int. Conf. on Software Engineering, San Diefo, CA, March 1981, pp. 439449.
    6. 6)
      • 6. Su, T., Wu, K., Miao, W., et al: ‘A survey on data flow testing’, ACM Comput. Surv., 2017, 50, (1), Article 5, pp. 135.
    7. 7)
      • 7. Santelices, R., Harrold, M.J.: ‘Efficiently monitoring data flow test coverage’. Proc. Int. Conf. on Automated Software Engineering, Atlanta, Georgia, USA, November 2007, pp. 343352.
    8. 8)
      • 8. McMinn, P.: ‘Search-based software test data generation: a survey’, Softw. Test. Verif. Reliab., 2004, 14, (2), pp. 105156.
    9. 9)
      • 9. Korel, B.: ‘Automated software test data generation’, IEEE Trans. Softw. Eng., 1990, 28, (7), pp. 10771081.
    10. 10)
      • 10. Arcuri, A.: ‘It does matter how you normalize the branch distance in search based software testing’. Proc. Int. Conf. on Software Testing, Verification and Validation, Paris, France, April 2010, pp. 205214.
    11. 11)
      • 11. Fraser, G., Arcuri, A.: ‘Sound empirical evidence in software testing’. Proc. Int. Conf. on Software Engineering, Zürich, Switzerland, June 2012, pp. 178188.
    12. 12)
      • 12. Rapps, S., Weyuker, E.J.: ‘Selecting software test data using data flow information’, IEEE Trans. Softw. Eng., 1985, 11, (4), pp. 367375.
    13. 13)
      • 13. Harrold, M.J., Soffa, M.L.: ‘Computation of inter- procedural definition and use dependencies’. Proc. Int. Conf. on Computer Languages, New Orleans, Louisiana, March 1990, pp. 297306.
    14. 14)
      • 14. Harrold, M.J., Soffa, M.L.: ‘Selecting and using data for integration testing’, IEEE Softw., 1991, 8, (2), pp. 5865.
    15. 15)
      • 15. Wedyan, F., Ghosh, S., Vijayasarathy, L.R.: ‘An approach and tool for measurement of state variable based data-flow test coverage for aspect-oriented programs’, Inf. Softw. Technol., 2015, 59, (C), pp. 233254.
    16. 16)
      • 16. Chaim, M.L., Araujo, R.P.A.: ‘An efficient bitwise algorithm for intra-procedural data-flow testing coverage’, Inf. Process. Lett., 2013, 113, (8), pp. 293300.
    17. 17)
      • 17. Vivanti, M., Gorla, A.M.A, Fraser, G.: ‘Search-based data-flow test generation’. Proc. Int. Conf. on Software Reliability Engineering, Naples, Italy, November 2014, pp. 370379.
    18. 18)
      • 18. Santelices, R., Sinha, S., Harrold, M.J.: ‘Subsumption of program entities for efficient coverage and monitoring’. Proc. Int. Conf. on Software Quality Assurance, Portland, Oregon, USA, November 2006, pp. 25.
    19. 19)
      • 19. Ahmed, Z.H.: ‘A hybrid genetic algorithm for the bottleneck traveling salesman problem’, ACM Trans. Embedded Comput. Syst., 2013, 12, (1), pp. 110.
    20. 20)
      • 20. Liaskos, K., Roper, M., Wood, M.: ‘Investigating data-flow coverage of classes using evolutionary algorithms’. Proc. Int. Conf. on Genetic and Evolutionary Computation, London, England, July 2007, pp. 11401140.
    21. 21)
      • 21. Chandra, A., Singhal, A.: ‘Study of unit and data flow testing in object-oriented and aspect-oriented programming’. Proc. Int. Conf. on Innovation and Challenges in Cyber Security, Noida, India, February 2016, pp. 245250.
    22. 22)
      • 22. Varshney, S., Mehrotra, M.: ‘A differential evolution based approach to generate test data for data-flow coverage’. Proc. Int. Conf. on Computing, Communication and Automation, Tula, Russia, September 2017, pp. 796801.

Related content

This is a required field
Please enter a valid email address