Object file program recombination of existing software programs using genetic algorithms | Posted on:2012-11-04 | Degree:M.C.S | Type:Thesis | University:Carleton University (Canada) | Candidate:Foster, Blair Carleton, Jr | Full Text:PDF | GTID:2468390011968347 | Subject:Computer Science | Abstract/Summary: | PDF Full Text Request | Software program recombination is a standard part of a software development toolbox. Software functionality and features in the form of source code are frequently taken from one program and merged into the existing body of source code of another program. This manually intensive recombination process is hampered by the fact that source code is brittle and prone to errors during compilation. This research presents a new, biologically inspired, approach to software program recombination by automatically recombining the object files of two closely related C programs in order to recombine their features and functionality. In much the same way biologist classify closely related species using phylogenetic trees, a pair of programs can be classified as closely related if they share a common development history or have evolved from a common base program. A software program, ObjRecombGA, automates the object file recombination process by using a genetic algorithm to search the space of all possible object file sets between the two closely related C programs. The results show that object file recombination of closely related programs is not only possible, but that it can even be applied to large and complex software programs. This recombination process can successfully discover new combinations of functionality derived from both parent programs. Moreover, the use of object files makes this approach applicable to existing software programs that generally cannot satisfy the program design and source code constraints required by existing recombination approaches. | Keywords/Search Tags: | Program, Recombination, Software, Object file, Existing, Source code, Closely related, Using | PDF Full Text Request | Related items |
| |
|