skip to main content
10.1145/1370042.1370061acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A strategy for evaluating feasible and unfeasible test cases for the evolutionary testing of object-oriented software

Published: 11 May 2008 Publication History

Abstract

Evolutionary Testing is an emerging methodology for automatically producing high quality test data. The focus of our on-going work is precisely on generating test data for the structural unit-testing of object-oriented Java programs. The primary objective is that of efficiently guiding the search process towards the definition of a test set that achieves full structural coverage of the test object.
However, the state problem of object-oriented programs requires specifying carefully fine-tuned methodologies that promote the traversal of problematic structures and difficult control-flow paths - which often involves the generation of complex and intricate test cases, that define elaborate state scenarios.
This paper proposes a methodology for evaluating the quality of both feasible and unfeasible test cases - i.e., those that are effectively completed and terminate with a call to the method under test, and those that abort prematurely because a runtime exception is thrown during test case execution. With our approach, unfeasible test cases are considered at certain stages of the evolutionary search, promoting diversity and enhancing the possibility of achieving full coverage.

References

[1]
A. Arcuri and X. Yao. A memetic algorithm for test data generation of object-oriented software. In D. Srinivasan and L. Wang, editors, 2007 IEEE Congress on Evolutionary Computation, pages -, Singapore, 25-28 Sept. 2007. IEEE Computational Intelligence Society, IEEE Press.
[2]
A. Arcuri and X. Yao. Search based testing of containers for object-oriented software. Technical Report CSR-07-3, University of Birmingham, School of Computer Science, Apr. 2007.
[3]
S. Barbey and A. Strohmeier. The problematics of testing object-oriented software. In M. Ross, C. A. Brebbia, G. Staples, and J. Stapleton, editors, SQM'94 Second Conference on Software Quality Management, Edinburgh, Scotland, UK, July 26-28 1994, volume 2, pages 411--426, 1994.
[4]
Y. Cheon, M. Kim, and A. Perumandla. A complete automation of unit testing for java programs. In H. R. Arabnia and H. Reza, editors, Software Engineering Research and Practice, pages 290--295. CSREA Press, 2005.
[5]
M. Harman. The current state and future of search based software engineering. In FOSE '07: 2007 Future of Software Engineering, pages 342--357, Washington, DC, USA, 2007. IEEE Computer Society.
[6]
A. Kinneer, M. Dwyer, and G. Rothermel. Sofya: A exible framework for development of dynamic program analysis for java software. Technical Report TR-UNL-CSE-2006-0006, University of Nebraska, Lincoln, 4 2006.
[7]
J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems). The MIT Press, December 1992.
[8]
X. Liu, B. Wang, and H. Liu. Evolutionary search in the context of object-oriented programs. In MIC'05: Proceedings of the Sixth Metaheuristics International Conference, 2005.
[9]
S. Luke. ECJ 16: A Java evolutionary computation library. http://cs.gmu.edu/~eclab/projects/ecj/, 2007.
[10]
T. Mantere and J. T. Alander. Evolutionary software engineering, a review. Appl. Soft Comput., 5(3):315--331, 2005.
[11]
P. McMinn. Search-based software test data generation: A survey. Software Testing, Verification and Reliability, 14(2):105--156, 2004.
[12]
P. McMinn and M. Holcombe. The state problem for evolutionary testing. In GECCO, pages 2488--2498, 2003.
[13]
D. J. Montana. Strongly typed genetic programming. Technical Report #7866, 10 Moulton Street, Cambridge, MA 02138, USA, 7 1993.
[14]
R. A. Müller, C. Lembeck, and H. Kuchen. A symbolic java virtual machine for test case generation. In M. H. Hamza, editor, IASTED Conf. on Software Engineering, pages 365--371. IASTED/ACTA Press, 2004.
[15]
J. C. B. Ribeiro, F. F. de Vega, and M. Z. Rela. 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 of the 25th Brazilian Symposium on Computer Networks and Distributed Systems, pages 143--156. Brazilian Computer Society (SBC), 2007.
[16]
J. C. B. Ribeiro, M. Zenha-Rela, and F. F. de Vega. ecrash: a framework for performing evolutionary testing on third-party java components. In JAEM CEDI 2007: Proceedings of the 1st Jornadas sobre Algoritmos Evolutivos y Metaheuristicas of the 2nd Congreso Español de Informática, pages 137--144, 2007.
[17]
J. C. B. Ribeiro, M. Zenha-Rela, and F. F. de Vega. An evolutionary approach for performing structural unit-testing on third-party object-oriented java software. In NICSO 2007: International Workshop on Nature Inspired Cooperative Strategies for Optimization (to appear), Studies in Computational Intelligence. Springer-Verlag, 11 2007.
[18]
R. Sagarna, A. Arcuri, and X. Yao. Estimation of distribution algorithms for testing object oriented software. In D. Srinivasan and L. Wang, editors, 2007 IEEE Congress on Evolutionary Computation, pages -, Singapore, 25-28 Sept. 2007. IEEE Computational Intelligence Society, IEEE Press.
[19]
A. Seesing and H.-G. GroSS. A genetic programming approach to automated test generation for object-oriented software. ITSSA, 1(2):127--134, 2006.
[20]
P. Tonella. Evolutionary testing of classes. In ISSTA '04: Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, pages 119--128, New York, NY, USA, 2004. ACM Press.
[21]
S. Wappler and F. Lammermann. Using evolutionary algorithms for the unit testing of object-oriented software. In GECCO '05: Proceedings of the 2005 conference on Genetic and evolutionary computation, pages 1053--1060, New York, NY, USA, 2005. ACM Press.
[22]
S. Wappler and J. Wegener. Evolutionary Unit Testing Of Object-Oriented Software Using A Hybrid Evolutionary Algorithm. In CEC'06: Proceedings of the 2006 IEEE Congress on Evolutionary Computation, pages 851--858. IEEE, 2006.
[23]
S. Wappler and J. Wegener. 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, pages 1925--1932, New York, NY, USA, 2006. ACM Press.

Cited By

View all
  • (2021)Genetic-based web regression testing: an ontology-based multi-objective evolutionary framework to auto-regression testing of web applicationsService Oriented Computing and Applications10.1007/s11761-020-00312-yOnline publication date: 4-Jan-2021
  • (2015)eCrash: a Genetic Programming-Based Testing Tool for Object-Oriented SoftwareHandbook of Genetic Programming Applications10.1007/978-3-319-20883-1_23(575-593)Online publication date: 2015
  • (2014)Enhancing Genetic Algorithm with Cumulative Probabilities to Derive Critical Test Scenarios from Use-CasesFuture Data and Security Engineering10.1007/978-3-319-12778-1_22(286-299)Online publication date: 2014
  • Show More Cited By

Index Terms

  1. A strategy for evaluating feasible and unfeasible test cases for the evolutionary testing of object-oriented software

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    AST '08: Proceedings of the 3rd international workshop on Automation of software test
    May 2008
    101 pages
    ISBN:9781605580302
    DOI:10.1145/1370042
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 May 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. evolutionary testing
    2. object-orientation
    3. search-based test case generation
    4. strongly-typed genetic programming

    Qualifiers

    • Research-article

    Conference

    ICSE '08
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 28 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Genetic-based web regression testing: an ontology-based multi-objective evolutionary framework to auto-regression testing of web applicationsService Oriented Computing and Applications10.1007/s11761-020-00312-yOnline publication date: 4-Jan-2021
    • (2015)eCrash: a Genetic Programming-Based Testing Tool for Object-Oriented SoftwareHandbook of Genetic Programming Applications10.1007/978-3-319-20883-1_23(575-593)Online publication date: 2015
    • (2014)Enhancing Genetic Algorithm with Cumulative Probabilities to Derive Critical Test Scenarios from Use-CasesFuture Data and Security Engineering10.1007/978-3-319-12778-1_22(286-299)Online publication date: 2014
    • (2013)PYTHIAProceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2013.6693121(610-615)Online publication date: 11-Nov-2013
    • (2012)Object Oriented Software Testing with Genetic Programming and Program AnalysisComputer Engineering10.4018/978-1-61350-456-7.ch414(992-1006)Online publication date: 2012
    • (2011)Knowledge Engineering Support for Intelligent Software Test OptimizationKnowledge Engineering for Software Development Life Cycles10.4018/978-1-60960-509-4.ch012(211-243)Online publication date: 2011
    • (2009)An adaptive strategy for improving the performance of genetic programming-based approaches to evolutionary testingProceedings of the 11th Annual conference on Genetic and evolutionary computation10.1145/1569901.1570253(1949-1950)Online publication date: 8-Jul-2009
    • (2009)Test Case Evaluation and Input Domain Reduction strategies for the Evolutionary Testing of Object-Oriented softwareInformation and Software Technology10.1016/j.infsof.2009.06.00951:11(1534-1548)Online publication date: 1-Nov-2009
    • (2008)Search-based test case generation for object-oriented java software using strongly-typed genetic programmingProceedings of the 10th annual conference companion on Genetic and evolutionary computation10.1145/1388969.1388979(1819-1822)Online publication date: 12-Jul-2008

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media