Abstract
This paper describes the methodology, architecture and features of the eCrash framework, a Java-based tool which employs Strongly-Typed Genetic Programming to automate the generation of test data for the structural unit testing of Object-Oriented programs. The application of Evolutionary Algorithms to Test Data generation is often referred to as Evolutionary Testing. eCrash implements an Evolutionary Testing strategy developed with three major purposes: improving the level of performance and automation of the Software Testing process; minimising the interference of the tool’s users on the Test Object analysis to a minimum; and mitigating the impact of users decisions in the Test Data generation process.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
Archive of Java classes or libraries.
- 12.
References
Baresi, L., Lanzi, P.L., Miraz, M.: Testful: An evolutionary test approach for java. In: Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation, ICST ’10, pp. 185–194. IEEE Computer Society, Washington, DC, USA (2010). DOI 10.1109/ICST.2010.54. URL http://dx.doi.org/10.1109/ICST.2010.54
Baresi, L., Miraz, M.: Testful: automatic unit-test generation for java classes. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, ICSE ’10, pp. 281–284. ACM, New York, NY, USA (2010). DOI 10.1145/1810295.1810353. URL http://doi.acm.org/10.1145/1810295.1810353
Fraser, G., Arcuri, A.: Evolutionary generation of whole test suites. In: Proceedings of the 2011 11th International Conference on Quality Software, QSIC ’11, pp. 31–40. IEEE Computer Society, Washington, DC, USA (2011). DOI 10.1109/QSIC.2011.19. URL http://dx.doi.org/10.1109/QSIC.2011.19
Fraser, G., Arcuri, A.: Evosuite: automatic test suite generation for object-oriented software. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, ESEC/FSE ’11, pp. 416–419. ACM, New York, NY, USA (2011). DOI 10.1145/2025113.2025179. URL http://doi.acm.org/10.1145/2025113.2025179
Fraser, G., Arcuri, A.: Sound empirical evidence in software testing. In: 34th International Conference on Software Engineering, ICSE 2012, June 2–9, 2012, Zurich, Switzerland, pp. 178–188. IEEE (2012)
Fraser, G., Arcuri, A.: Whole test suite generation. IEEE Trans. Softw. Eng. 39(2), 276–291 (2013). DOI 10.1109/TSE.2012.14. URL http://dx.doi.org/10.1109/TSE.2012.14
Fraser, G., Arcuri, A., McMinn, P.: Test suite generation with memetic algorithms. In: Proceeding of the fifteenth annual conference on Genetic and evolutionary computation conference, GECCO ’13, pp. 1437–1444. ACM, New York, NY, USA (2013). DOI 10.1145/2463372.2463548. URL http://doi.acm.org/10.1145/2463372.2463548
Harman, M.: Automated test data generation using search based software engineering. In: AST ’07: Proceedings of the Second International Workshop on Automation of Software Test, p. 2. IEEE Computer Society, Washington, DC, USA (2007). DOI http://dx.doi.org/10.1109/AST.2007.4
Harman, M., Mansouri, S.A., Zhang, Y.: Search based software engineering: A comprehensive analysis and review of trends techniques and applications. Tech. Rep. TR-09-03, Department of Computer Science, King’s College London (2009). URL http://www.dcs.kcl.ac.uk/technical-reports/papers/TR-09-03.pdf
Kinneer, A., Dwyer, M., Rothermel, G.: Sofya: A flexible framework for development of dynamic program analysis for java software. Tech. Rep. TR-UNL-CSE-2006-0006, University of Nebraska (2006). URL http://sofya.unl.edu/
Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems). The MIT Press (1992). URL http://www.amazon.ca/exec/obidos/redirect?tag=citeulike04-20&path=ASIN/0262111705
Kropp, N.P., Jr., P.J.K., Siewiorek, D.P.: Automated robustness testing of off-the-shelf software components. In: Symposium on Fault-Tolerant Computing, pp. 230–239 (1998). URL citeseer.ist.psu.edu/kropp98automated.html
Luke, S.: ECJ 21: A Java evolutionary computation library. http://cs.gmu.edu/~eclab/projects/ecj/ (2013)
McMinn, P.: Search-based software test data generation: A survey. Software Testing, Verification and Reliability 14(2), 105–156 (2004). URL citeseer.ist.psu.edu/mcminn04searchbased.html
McMinn, P., Holcombe, M.: The state problem for evolutionary testing (2003). URL citeseer.ist.psu.edu/mcminn03state.html
Miraz, M., Lanzi, P.L., Baresi, L.: Testful: using a hybrid evolutionary algorithm for testing stateful systems. In: Proceedings of the 11th Annual conference on Genetic and evolutionary computation, GECCO ’09, pp. 1947–1948. ACM, New York, NY, USA (2009). DOI 10.1145/1569901.1570252. URL http://doi.acm.org/10.1145/1569901.1570252
Montana, D.J.: Strongly typed genetic programming. Evolutionary Computation 3(2), 199–230 (1995)
Naik, S., Tripathy, P.: Software Testing and Quality Assurance: Theory and Practice. Wiley (2008)
Nogueira, A.F., Ribeiro, J.C.B., de Vega, F.F., Zenha-Rela, M.A.: ecrash: An empirical study on the apache ant project. In: Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE ’13), vol. 8084. Springer, St. Petersburg, Russia (2013)
Pacheco, C., Ernst, M.D.: Randoop: feedback-directed random testing for java. In: OOPSLA ’07: Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, pp. 815–816. ACM, New York, NY, USA (2007). DOI http://doi.acm.org/10.1145/1297846.1297902
Pavlov, Y., Fraser, G.: Semi-automatic search-based test generation. In: Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, ICST ’12, pp. 777–784. IEEE Computer Society, Washington, DC, USA (2012). DOI 10.1109/ICST.2012.176. URL http://dx.doi.org/10.1109/ICST.2012.176
Ribeiro, J.C.B.: Search-based test case generation for object-oriented java software using strongly-typed genetic programming. In: GECCO ’08: Proceedings of the 2008 GECCO Conference Companion on Genetic and Evolutionary Computation, pp. 1819–1822. ACM, New York, NY, USA (2008). DOI http://doi.acm.org/10.1145/1388969.1388979
Ribeiro, J.C.B.: Contributions for improving genetic programming-based approaches to the evolutionary testing of object-oriented software. Ph.D. thesis, Universidad de Extremadura, Espaã (2010)
Ribeiro, J.C.B., de Vega, F.F., Zenha-Rela, M.: Using dynamic analysis of java bytecode for evolutionary object-oriented unit testing. In: SBRC WTF 2007: Proceedings of the 8th Workshop on Testing and Fault Tolerance at the 25th Brazilian Symposium on Computer Networks and Distributed Systems, pp. 143–156. Brazilian Computer Society (SBC) (2007)
Ribeiro, J.C.B., Zenha-Rela, M., de Vega, F.F.: ecrash: a framework for performing evolutionary testing on third-party java components. In: CEDI JAEM’07: Proceedings of the I Jornadas sobre Algoritmos Evolutivos y Metaheuristicas at the II Congreso Español de Informática, pp. 137–144 (2007)
Ribeiro, J.C.B., Zenha-Rela, M., de Vega, F.F.: A strategy for evaluating feasible and unfeasible test cases for the evolutionary testing of object-oriented software. In: AST ’08: Proceedings of the 3rd International Workshop on Automation of Software Test, pp. 85–92. ACM, New York, NY, USA (2008). DOI http://doi.acm.org/10.1145/1370042.1370061
Ribeiro, J.C.B., Zenha-Rela, M.A., Fernández de Vega, F.: Test case evaluation and input domain reduction strategies for the evolutionary testing of object-oriented software. Inf. Softw. Technol. 51(11), 1534–1548 (2009). DOI http://dx.doi.org/10.1016/j.infsof.2009.06.009
Ribeiro, J.C.B., Zenha-Rela, M.A., de Vega, F.F.: Strongly-typed genetic programming and purity analysis: input domain reduction for evolutionary testing problems. In: GECCO ’08: Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation, pp. 1783–1784. ACM, New York, NY, USA (2008). DOI http://doi.acm.org/10.1145/1389095.1389439
Ribeiro, J.C.B., Zenha-Rela, M.A., de Vega, F.F.: Adaptive evolutionary testing: an adaptive approach to search-based test case generation for object-oriented software. In: NICSO 2010 - International Workshop on Nature Inspired Cooperative Strategies for Optimization, Studies in Computational Intelligence. Springer (2010)
Ribeiro, J.C.B., Zenha-Rela, M.A., de Vega, F.F.: Enabling object reuse on genetic programming-based approaches to object-oriented evolutionary testing. In: EuroGP 2010 - 13th European Conference on Genetic Programming (to appear), Lecture Notes in Computer Science. Springer (2010)
Tassey, G.: The economic impacts of inadequate infrastructure for software testing. Tech. rep., National Institute of Standards and Technology (2002)
Tonella, P.: Evolutionary testing of classes. In: ISSTA ’04: Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, pp. 119–128. ACM Press, New York, NY, USA (2004). DOI http://doi.acm.org/10.1145/1007512.1007528
Vincenzi, A.M.R., Delamaro, M.E., Maldonado, J.C., Wong, W.E.: Establishing structural testing criteria for java bytecode. Softw. Pract. Exper. 36(14), 1513–1541 (2006). DOI http://dx.doi.org/10.1002/spe.v36:14
Wappler, S., Wegener, J.: Evolutionary unit testing of object-oriented software using a hybrid evolutionary algorithm. In: CEC’06: Proceedings of the 2006 IEEE Congress on Evolutionary Computation, pp. 851–858. IEEE (2006)
Wappler, S., Wegener, J.: Evolutionary unit testing of object-oriented software using strongly-typed genetic programming. In: GECCO ’06: Proceedings of the 8th annual conference on Genetic and evolutionary computation, pp. 1925–1932. ACM Press, New York, NY, USA (2006). DOI http://doi.acm.org/10.1145/1143997.1144317
Zakhour, S., Hommel, S., Royal, J., Rabinovitch, I., Risser, T., Hoeber, M.: The Java Tutorial: A Short Course on the Basics, 4th Edition (Java Series), 4th edn. Prentice Hall PTR (2006). URL http://www.worldcat.org/isbn/0321334205
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Ribeiro, J.C.B., Nogueira, A.F., de Vega, F.F., Zenha-Rela, M.A. (2015). eCrash: a Genetic Programming-Based Testing Tool for Object-Oriented Software. In: Gandomi, A., Alavi, A., Ryan, C. (eds) Handbook of Genetic Programming Applications. Springer, Cham. https://doi.org/10.1007/978-3-319-20883-1_23
Download citation
DOI: https://doi.org/10.1007/978-3-319-20883-1_23
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-20882-4
Online ISBN: 978-3-319-20883-1
eBook Packages: Computer ScienceComputer Science (R0)