Publication | Closed Access
On the Automated Generation of Program Test Data
317
Citations
12
References
1976
Year
Software MaintenanceEngineeringVerificationArray Reference AmbiguitiesTest Data GenerationSoftware EngineeringSoftware AnalysisFormal VerificationModel-based TestingComputational TestingTest OracleTest AutomationSystems EngineeringTest GenerationSoftware ValidationComputer EngineeringComputer ScienceSoftware DesignProgram SegmentProgram AnalysisSoftware TestingFormal MethodsAutomated GenerationTest EvolutionSymbolic Execution
Software validation through testing remains essential for large‑scale systems, and automating testing tools can increase effectiveness and lower costs, though symbolic execution faces notable challenges. The paper discusses automated test data generation techniques and proposes a new method for resolving array reference ambiguities and generating test inputs that satisfy input constraints. The method identifies paths in a program graph that meet testing criteria, uses symbolic execution to generate input constraints, resolves array reference ambiguities by recording references in a table, and produces test data—implemented in a Fortran test data generator.
Software validation through testing will continue to be a very important tool for ensuring correctness of large scale software systems. Automation of testing tools can greatly enhance their power and reduce testing cost. In this paper, techniques for automated test data generation are discussed. Given a program graph, a set of paths are identified to satisfy some given testing criteria. When a path or a program segment is specified, symbolic execution is used for generating input constraints which define a set of inputs for executing this path or segment. Problems encountered in symbolic execution are discussed. A new approach for resolving array reference ambiguities and a procedure for generating test inputs satisfying input constraints are proposed. References to arrays are recorded in a table. during symbolic execution and ambiguities are resolved when test data are generated to evaluate the subscript expressions. The implementation of a test data generator for Fortran programs incorporating these techniques is also described.
| Year | Citations | |
|---|---|---|
Page 1
Page 1