Publication:
Path Testing using Genetic Algorithm

dc.contributor.advisor Lokan, Chris en_US
dc.contributor.advisor Sarker, Ruhul en_US
dc.contributor.author Hermadi, Irman en_US
dc.date.accessioned 2022-03-22T10:45:13Z
dc.date.available 2022-03-22T10:45:13Z
dc.date.issued 2015 en_US
dc.description.abstract Software testing is a critical stage in the life cycle of software development. The testing process costs hundreds of billions of dollars per year worldwide. Therefore, even small improvements in it could lead to very large savings. In software, testing mainly refers to dynamic testing. It involves designing and generating proper test cases for the software, executing the software with these test cases, and observing the results. The aim is to find maximum number of errors with minimum number of test cases. Black-box testing involves seeing whether the program behaves as expected. White-box testing involves knowledge of the code, to see which parts of the software were exercised during program execution. This thesis is concerned with white-box testing. The strongest form of white-box testing is path testing, in which test data is sought that leads to all different execution paths through a program being exercised. Searching for an input datum in the program's input space that meets the path coverage criterion is a search problem. Evolutionary algorithms have proven to be suitable for searching for test data. The aim of this thesis is to evaluate and improve the use of genetic algorithms (GA) for path testing. First, the capability and limitations of GA-based path testing are identified. Next we investigate possible ways to improve GA for test data generation. The obtained results are a collection of test programs; a classification scheme for test programs; understanding key GA parameters and identifying an effective default GA parameter setup; understanding the effects of infeasible paths; a model that stops GA searching when it seems ineffective to keep going, saving time while still finding almost all feasible paths; and identifying an effective hybrid of GA and local search techniques. The results have the following implications: • The collection of test programs can serve as a testing benchmark for proposed software testing approaches. • The classification of test programs provides ways to group test programs with similar characteristics. • The key parameters are shown in order to be population size, allele range, and number of generations. Suitable default values for these parameters are identified, which can represent a common setup to be used with an unknown new test program. • The existence of infeasible paths is shown not to hinder the process of test data generation, rather it improves the performance by encouraging diversity in the population. This means that the costly task of analyzing target paths to identify and remove infeasible ones is not necessary. • The proposed stopping criteria can stop searching whenever it is not worth continuing because the likelihood of finding further paths is too low. It is shown to be effective in stopping searching quite early, while missing almost no feasible paths. One less arbitrary system parameter (maximum number of generations to search) can be removed as a result. • The hybrid GAs improve the performance both in terms of path coverage and number of generations required for the search. en_US
dc.identifier.uri http://hdl.handle.net/1959.4/55255
dc.language English
dc.language.iso EN en_US
dc.publisher UNSW, Sydney en_US
dc.rights CC BY-NC-ND 3.0 en_US
dc.rights.uri https://creativecommons.org/licenses/by-nc-nd/3.0/au/ en_US
dc.subject.other Path detection en_US
dc.subject.other GA-based path testing en_US
dc.subject.other Evolutionary computation en_US
dc.subject.other Data generation en_US
dc.subject.other Software testing en_US
dc.subject.other Black-box testing en_US
dc.title Path Testing using Genetic Algorithm en_US
dc.type Thesis en_US
dcterms.accessRights open access
dcterms.rightsHolder Hermadi, Irman
dspace.entity.type Publication en_US
unsw.accessRights.uri https://purl.org/coar/access_right/c_abf2
unsw.identifier.doi https://doi.org/10.26190/unsworks/18576
unsw.relation.faculty UNSW Canberra
unsw.relation.originalPublicationAffiliation Hermadi, Irman, Engineering & Information Technology, UNSW Canberra, UNSW en_US
unsw.relation.originalPublicationAffiliation Lokan, Chris, Engineering & Information Technology, UNSW Canberra, UNSW en_US
unsw.relation.originalPublicationAffiliation Sarker, Ruhul, Engineering & Information Technology, UNSW Canberra, UNSW en_US
unsw.relation.school School of Engineering and Information Technology *
unsw.thesis.degreetype PhD Doctorate en_US
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
public version.pdf
Size:
2.06 MB
Format:
application/pdf
Description:
Resource type