Carleton University - Canada’s Capital University Carleton University - Canada’s Capital University Sitemap
Contact SCS
Campus Map
Computer Science Search:
Powered by Google
News & Seminars Future Students Current Students SCS Research People Tech Support
Graduate Thesis 2011

OBJECT FILE PROGRAM RECOMBINATION OF EXISTING SOFTWARE PROGRAMS USING GENETIC ALGORITHMS

By
Blair Foster Jr.

Winter 2011

A thesis submitted to the Faculty of Graduate Studies and Research
in partial fulfillment of the requirements for the degree of


Master of Computer Science

Ottawa-Carleton Institute for Computer Science
School of Computer Science
Carleton University


Supervisor: Dr. Anil Somayaji

ABSTRACT

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.

THESIS DOWNLOAD

[ TH_mcs_2011_fosterjr._0029.pdf ]