skip to main content
Automatic test data generation
Publisher:
  • Georgia Institute of Technology
  • School of Information & Computer ScienceAtlanta, GA
  • United States
Order Number:AAI8904822
Pages:
205
Reflects downloads up to 21 Jan 2025Bibliometrics
Skip Abstract Section
Abstract

This dissertation presents a completely automatable test data generation technique, constraint-based testing (CBT), that is based on test case adequacy. CBT has been implemented as part of the Mothra mutation system.

Software testing research has often attempted to generate test data that is reliable, where a reliable test data set ensures that the program is correct on all inputs. Unfortunately, it is theoretically impossible to generate reliable test sets, there are simple programming errors that are not found by reliability-based techniques, and most reliability techniques have not been successively automated.

Test data adequacy requires that the test data distinguishes correct versions of the program from every incorrect version of the program. Although we cannot generate adequate test sets, relative-adequacy, or mutation-adequacy, is a weak version of adequacy that requires that the test data set distinguish correct programs from a finite number of incorrect programs. This dissertation presents a completely automatable technique for generating test data sets that approximate mutation-adequacy. CBT defines conditions under which mutant programs will die that are represented as mathematical constraints that are automatically satisfied to generate sets of data.

The major results include a new technique for automatically generating test data that effectively kills mutants in a mutation system (specifically the Mothra system), and that combines the capabilities of previous test data generation methods. Also, procedures for creating mathematical constraints that describe the test cases and for solving those constraints to produce test cases are presented. CBT has been implemented as a prototype test data generation tool (Godzilla) that is integrated with the Mothra mutation testing system.

Experimentation with the Godzilla generator and the Mothra system indicates that CBT produces test data that is closer to adequate than other testing techniques. Based on the evidence presented in the dissertation, CBT is at least competitive with other test data techniques and may well be more powerful. Also, CBT is easy to extend to detect more errors or incorporate the capabilities of new testing techniques. Perhaps most importantly, CBT is easily automatable, as demonstrated by the prototype generator Godzilla.

Cited By

  1. Wei C, Yao X, Gong D and Liu H (2024). Test Data Generation for Mutation Testing Based on Markov Chain Usage Model and Estimation of Distribution Algorithm, IEEE Transactions on Software Engineering, 50:3, (551-573), Online publication date: 1-Mar-2024.
  2. ACM
    Palomo-Lozano F, Estero-Botaro A, Medina-Bulo I and Núñez M Test suite minimization for mutation testing of WS-BPEL compositions Proceedings of the Genetic and Evolutionary Computation Conference, (1427-1434)
  3. Estero-Botaro A, García-Domínguez A, Domínguez-Jiménez J, Palomo-Lozano F and Medina-Bulo I A Framework for Genetic Test-Case Generation for WS-BPEL Compositions Proceedings of the 26th IFIP WG 6.1 International Conference on Testing Software and Systems - Volume 8763, (1-16)
  4. ACM
    Sousa M and Sen A Generation of TLM testbenches using mutation testing Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, (323-332)
  5. ACM
    Harman M, Jia Y and Langdon W Strong higher order mutation-based test data generation Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, (212-222)
  6. ACM
    Ayari K, Bouktif S and Antoniol G Automatic mutation test input data generation via ant colony Proceedings of the 9th annual conference on Genetic and evolutionary computation, (1074-1081)
  7. Voas J, Ghosh A, Charron F and Kassab L Reducing Uncertainty About Common-Mode Failures Proceedings of the Eighth International Symposium on Software Reliability Engineering
  8. ACM
    Thompson M, Richardson D and Clarke L An information flow model of fault detection Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis, (182-192)
  9. ACM
    Thompson M, Richardson D and Clarke L (1993). An information flow model of fault detection, ACM SIGSOFT Software Engineering Notes, 18:3, (182-192), Online publication date: 1-Jul-1993.
  10. Voas J (1992). PIE, IEEE Transactions on Software Engineering, 18:8, (717-727), Online publication date: 1-Aug-1992.
  11. ACM
    Francel M and Rugaber S Fault localization using execution traces Proceedings of the 30th annual ACM Southeast Regional Conference, (69-76)
  12. ACM
    Offutt A and Lee S How strong is weak mutation? Proceedings of the symposium on Testing, analysis, and verification, (200-213)
  13. ACM
    Marick B The weak mutation hypothesis Proceedings of the symposium on Testing, analysis, and verification, (190-199)
  14. ACM
    Horgan J and London S Data flow coverage and the C language Proceedings of the symposium on Testing, analysis, and verification, (87-97)
  15. DeMillo R and Offutt A (1991). Constraint-Based Automatic Test Data Generation, IEEE Transactions on Software Engineering, 17:9, (900-910), Online publication date: 1-Sep-1991.
  16. ACM
    Offutt A (1990). Comments on Tai, ACM SIGSOFT Software Engineering Notes, 15:1, (67), Online publication date: 1-Jan-1990.
  17. ACM
    Offutt A (1989). The coupling effect: fact or fiction, ACM SIGSOFT Software Engineering Notes, 14:8, (131-140), Online publication date: 1-Dec-1989.
  18. ACM
    Offutt A The coupling effect: fact or fiction Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification, (131-140)
Contributors
  • George Mason University
  • Georgia Institute of Technology

Recommendations