Skip to main content

A Method and Tool Support for Automated Data Flow Testing of Java Programs

  • Conference paper
  • First Online:
Book cover Context-Aware Systems and Applications (ICCASA 2013)

Abstract

This paper proposes a method and a tool support for automated data flow testing of Java programs. The key purpose of this method is to detect improper uses of data values due to coding errors. Given source code of a Java program, the proposed method analyzes and visualizes the program as a data flow graph. All test paths for covering all definition-use pairs of all variables are then generated. A test case corresponding to each generated test path is produced by identifying values to the input parameters so that the test path is executable. The expected outputs of these test cases are identified automatically. An implemented tool supporting the improved method and experimental results are also presented. This tool is promising to be applied in practice.

The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-3-319-05939-6_37

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://www.uet.vnu.edu.vn/uet/~hungpn/JDFT

References

  1. Rapps, S., Weyuker, E.J.: Selecting software test data using data flow information. IEEE Trans. Softw. Eng. 11(4), 367–375 (1985)

    Article  MATH  Google Scholar 

  2. Parrish, A.S., Zweben, S.H.: On the relationships among the all-uses, all-DU-paths, and all-edges testing criteria. IEEE Trans. Softw. Eng. 21(12), 1006–1009 (1995)

    Article  Google Scholar 

  3. Bluemke, I.: A coverage analysis tool for java programs. In: The 4th IFIP TC 2 Central and East European Conference on Advances in Software Engineering Techniques, pp. 215–228 (2009)

    Google Scholar 

  4. Copeland, L.: A Practitioner’s Guide to Software Test Design. STQE Publishing, Massachusetts (2004)

    MATH  Google Scholar 

  5. Narmada, N., Mohapatra, D.P.: Automatic test data generation for data flow testing using particle swarm optimization. Commun. Comput. Inform. Sci. 95(1), 1–12 (2010)

    MATH  Google Scholar 

  6. PDM Homepage, http://pmd.sourceforge.net/

  7. Exhaustive research, http://en.wikipedia.org/wiki/Brute-force_search

  8. BPAS-ATCGS Homepage, http://www.cs.ucy.ac.cy/~cs04pp2/WebHelp/index.htm

  9. JaBUTi Homepage, http://jabuti.incubadora.fapesp.br (access, December 2007)

  10. Ntafos, S.C.: On required element testing. IEEE Trans. Softw. Eng. 10(6), 795–803 (1984)

    Article  Google Scholar 

  11. Ghiduk, A.S.: A new software data-flow testing approach via ant colony algorithms. UniCSE (2010). ISSN: 2219–2158

    Google Scholar 

  12. Girgis, M.R.: Automatic test data generation for data flow testing using a genetic algorithm. J. UCS 11(6), 898–915 (2005)

    Google Scholar 

  13. Mayer, J., Guderlei, R.: Test oracles using statistical methods. In: Proceedings of the First International Workshop on Software Quality, Lecture Notes in Informatics P-58, pp. 179–189 (2004)

    Google Scholar 

  14. Vanmali, M., Last, M., Kandel, A.: Using a neural network in the software testing process. Int. J. Intell. Syst. 17(1), 45–62 (2002)

    Article  MATH  Google Scholar 

  15. Hu, P., Zhang, Z., Chan, W.K., Tse, T.H.: An empirical comparison between direct and indirect test result checking approaches. In: Proceedings of the 3rd International Workshop on Software Quality ssurance (SOQUA06), pp. 6–13 (2006)

    Google Scholar 

Download references

Acknowledgments

This work is supported by the project no. QG.12.50 granted by Vietnam National University, Hanoi (VNU).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Van-Cuong Pham .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 ICST Institute for Computer Science, Social Informatics and Telecommunications Engineering

About this paper

Cite this paper

Pham, VC., Ngoc-Hung, P. (2014). A Method and Tool Support for Automated Data Flow Testing of Java Programs. In: Vinh, P., Alagar, V., Vassev, E., Khare, A. (eds) Context-Aware Systems and Applications. ICCASA 2013. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 128. Springer, Cham. https://doi.org/10.1007/978-3-319-05939-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-05939-6_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-05938-9

  • Online ISBN: 978-3-319-05939-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics