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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Rapps, S., Weyuker, E.J.: Selecting software test data using data flow information. IEEE Trans. Softw. Eng. 11(4), 367–375 (1985)
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)
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)
Copeland, L.: A Practitioner’s Guide to Software Test Design. STQE Publishing, Massachusetts (2004)
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)
PDM Homepage, http://pmd.sourceforge.net/
Exhaustive research, http://en.wikipedia.org/wiki/Brute-force_search
BPAS-ATCGS Homepage, http://www.cs.ucy.ac.cy/~cs04pp2/WebHelp/index.htm
JaBUTi Homepage, http://jabuti.incubadora.fapesp.br (access, December 2007)
Ntafos, S.C.: On required element testing. IEEE Trans. Softw. Eng. 10(6), 795–803 (1984)
Ghiduk, A.S.: A new software data-flow testing approach via ant colony algorithms. UniCSE (2010). ISSN: 2219–2158
Girgis, M.R.: Automatic test data generation for data flow testing using a genetic algorithm. J. UCS 11(6), 898–915 (2005)
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)
Vanmali, M., Last, M., Kandel, A.: Using a neural network in the software testing process. Int. J. Intell. Syst. 17(1), 45–62 (2002)
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)
Acknowledgments
This work is supported by the project no. QG.12.50 granted by Vietnam National University, Hanoi (VNU).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)