Mohammad Alshraideh
Use of program and data-specific heuristics for automatic software test data generation
Alshraideh, Mohammad
Authors
Contributors
Leonardo Bottaci
Supervisor
Abstract
The application of heuristic search techniques, such as genetic algorithms, to the problem of automatically generating software test data has been a growing interest for many researchers in recent years. The problem tackled by this thesis is the development of heuristics for test data search for a class of test data generation problems that could not be solved prior to the work done in this thesis because of a lack of an informative cost function. Prior to this thesis, work in applying search techniques to structural test data generation was largely limited to numeric test data and in particular, this left open the problem of generating string test data. Some potential string cost functions and corresponding search operators are presented in this thesis. For string equality, an adaptation of the binary Hamming distance is considered, together with two new string specific match cost functions. New cost functions for string ordering are also defined. For string equality, a version of the edit distance cost function with fine-grained costs based on the difference in character ordinal values was found to be the most effective in an empirical study.
A second problem tackled in this thesis is the problem of generating test data for programs whose coverage criterion cost function is locally constant. This arises because the computation produced by many programs leads to a loss of information. The use of flag variables, for example, can lead to information loss. Consequently, conventional instrumentation added to a program receives constant or almost constant input and hence the search receives very little guidance and will often fail to find test data. The approach adopted in this thesis is to exploit the structure and behaviour of the computation from the input values to the test goal, the usual instrumentation point. The new technique depends on introducing program data-state scarcity as an additional search goal. The search is guided by a new fitness function made up of two parts, one depending on the branch distance of the test goal, the other depending on the diversity of the data-states produced during execution of the program under test.
In addition to the program data-state, the program operations, in the form of the program-specific operations, can be used to aid the generation of test data. The program-specific operators is demonstrated for strings and an empirical investigation showed a fivefold increase in performance. This technique can also be generalised to other data types. An empirical investigation of the use of program-specific search operators combined with a data-state scarcity search for flag problems showed a threefold increase in performance.
Citation
Alshraideh, M. Use of program and data-specific heuristics for automatic software test data generation. (Thesis). University of Hull. https://hull-repository.worktribe.com/output/4217477
Thesis Type | Thesis |
---|---|
Deposit Date | Dec 18, 2015 |
Publicly Available Date | Feb 23, 2023 |
Keywords | Computer science |
Public URL | https://hull-repository.worktribe.com/output/4217477 |
Additional Information | Department of Computer Science, The University of Hull |
Award Date | Apr 1, 2007 |
Files
Thesis
(11.4 Mb)
PDF
Copyright Statement
© 2007 Alshraideh, Mohammad. All rights reserved. No part of this publication may be reproduced without the written permission of the copyright holder.
You might also like
Model transformation for analyzing dependability of AADL model by using HiP-HOPS
(2019)
Journal Article
Mutation analysis of dynamically typed programs
(2013)
Thesis
Using program data-state scarcity to guide automatic test data generation
(2009)
Journal Article
Downloadable Citations
About Repository@Hull
Administrator e-mail: repository@hull.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2024
Advanced Search