Evolutionary testing of classes
Abstract
Object oriented programming promotes reuse of classes in multiple contexts. Thus, a class is designed and implemented with several usage scenarios in mind, some of which possibly open and generic. Correspondingly, the unit testing of classes cannot make too strict assumptions on the actual method invocation sequences, since these vary from application to application.In this paper, a genetic algorithm is exploited to automatically produce test cases for the unit testing of classes in a generic usage scenario. Test cases are described by chromosomes, which include information on which objects to create, which methods to invoke and which values to use as inputs. The proposed algorithm mutates them with the aim of maximizing a given coverage measure. The implementation of the algorithm and its application to classes from the Java standard library are described.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
The number of tests needed to evaluate every possible value pair can be significantly smaller than the exhaustive testing alternative.
“The number of tests needed to evaluate every possible value pair can be significantly smaller than the exhaustive testing alternative since each test can simultaneously contribute to multiple value pairs [22, 44, 80].”
From Fairness testing: testing software for discrimination (2017) · cites this paper as [80]
Cites
Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2019
Auger, A., & Stützle, T. (2019) · Dépôt institutionnel de l'Université libre de Bruxelles (Université Libre de Bruxelles) · Cited by 1,726 · see citing works
Dynamically discovering likely program invariants to support program evolution
Ernst, M. D., Cockrell, J., Griswold, W. G., & Notkin, D. S. (2001) · IEEE Transactions on Software Engineering · doi:10.1109/32.908957 · Cited by 1,037 · see citing works
Automated software test data generation
Korel, B. (1990) · IEEE Transactions on Software Engineering · doi:10.1109/32.57624 · Cited by 973 · see citing works
Boyapati, C., Khurshid, S., & Marinov, D. (2002) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/566171.566191 · Cited by 597 · see citing works
Test-data generation using genetic algorithms
Pargas, R. P., Harrold, M. J., & Peck, R. R. (1999) · Software Testing Verification and Reliability · doi:10.1002/(sici)1099-1689(199912)9:4 · Cited by 586 · see citing works
The chaining approach for software test data generation
Ferguson, R., & Korel, B. (1996) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/226155.226158 · Cited by 362 · see citing works
Boyapati, C., Khurshid, S., & Marinov, D. (2002) · ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) · doi:10.1145/566172.566191 · Cited by 302 · see citing works
Automated test data generation using an iterative relaxation method
Gupta, N., Mathur, A. P., & Soffa, M. L. (1998) · ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE) · doi:10.1145/288195.288321 · Cited by 178 · see citing works
Fitness Function Design To Improve Evolutionary Structural Testing
Baresel, A., Sthamer, H., & Schmidt, M. D. (2002) · Cited by 162 · see citing works
Generating test data for branch coverage
Gupta, N., Mathur, A. P., & Soffa, M. L. (2000) · doi:10.1109/ase.2000.873666 · Cited by 130 · see citing works
Discovering Algebraic Specifications from Java Classes
Henkel, J., & Diwan, A. (2003) · Lecture notes in computer science · doi:10.1007/978-3-540-45070-2_19 · Cited by 123 · see citing works
Automated test data generation for programs with procedures
Korel, B. (1996) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/226295.226319 · Cited by 121 · see citing works
ADTEST: a test data generation suite for Ada software systems
Gallagher, M. J., & Narasimhan, V. L. (1997) · IEEE Transactions on Software Engineering · doi:10.1109/32.624304 · Cited by 120 · see citing works
Automated test data generation for programs with procedures
Korel, B. (1996) · ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) · doi:10.1145/229000.226319 · Cited by 80 · see citing works
Buy, U. A., Orso, A., & Pezzè, M. (2000) · ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) · doi:10.1145/347324.348870 · Cited by 77 · see citing works
Massol, V., & Husted, T. (2003) · Medical Entomology and Zoology · Cited by 74 · see citing works
Automated software test data generation for complex programs
Michael, C., & McGraw, G. E. (2002) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.1998.732605 · Cited by 49 · see citing works
Genes and bacteria for automatic test cases optimization in the .NET environment
Baudry, B., Fleurey, F., Jezéquél, J., et al. (2003) · Proceedings/Proceedings - International Symposium on Software Reliability Engineering · doi:10.1109/issre.2002.1173246 · Cited by 45 · see citing works
Building trust into OO components using a genetic analogy
Baudry, B., Hanh, V. L., Jezéquél, J., et al. (2002) · doi:10.1109/issre.2000.885856 · Cited by 24 · see citing works
Flagged first, then by citations
Cited by
Sorted by citations
Fraser, G., & Arcuri, A. (2013) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2012.14 · Cited by 586 · see citing works
Fairness testing: testing software for discrimination
Galhotra, S., Brun, Y., & Meliou, A. (2017) · Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering · doi:10.1145/3106237.3106277 · Cited by 405 · see citing works
Shamshiri, S., Just, R., Rojas, J. M., Fraser, G., McMinn, P., & Arcuri, A. (2015) · 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2015.86 · Cited by 230 · see citing works
Automatically Generating Test Cases for Specification Mining
Dallmeier, V., Knopp, N., Mallon, C., Fraser, G., Hack, S., & Zeller, A. (2012) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2011.105 · Cited by 67 · see citing works
- Authors
- Tonella, P.
- Affiliations
- ITC-irst, Povo (Trento), Italy
- Corresponding author
- Tonella, Paolo
- ORCID
- Tonella, Paolo
- Venue
- Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
- Publisher
- ACM
- Published
- 2004-07
- Pages
- 119-128
- OpenAlex
- W2082274331
- Cited by
- 410
- References
- 19
- Citations by year
- 2026: 6 · 2025: 10 · 2024: 5 · 2023: 8 · 2022: 12 · 2021: 11 · 2020: 12 · 2019: 12 · 2018: 18 · 2017: 20 · 2016: 20 · 2015: 30 · 2014: 32 · 2013: 28 · 2012: 26
- FWCI
- 7.02
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) (publishedVersion)
- Topics
- Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
- Physical Sciences › Computer Science › Artificial Intelligence › Evolutionary Algorithms and Applications
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Keywords
- evolutionary testing, genetic algorithm, test case generation, code coverage, object-oriented software, Java standard library
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review