Automatic re-engineering of software using genetic programming

From MaRDI portal





This book emerged from the Ph.D. thesis of the author. Its main contribution is the presentation of the application of evolutionary methods to parallelize sequential programs automatically. After a short introduction which motivates the use of genetic algorithms to parallelize sequential program segments automatically, the author first gives a brief overview on the diversity of evolutionary methods and the application as problem solvers in chapter 2. Chapter 3 presents an introduction to the problem of re-engineering sequential software for parallel computing platforms and explains why genetic programming is expected to be suitable for auto-parallelization. Since there are several conflicting performance criteria in auto-parallelization, in chapter 4 the author presents several extensions of genetic programming in order to deal with multi-objective functions and multi-modal functions. A first approach to auto-parallelization by genetic programming is then presented in chapter 5. The main drawbacks of this first approach are provability and the lack of advanced parallelization techniques for loops. These are discussed within chapter 7, which contains also a demonstration how genetic programming can be used for multiprocessor scheduling. Chapter 8 finally presents an alternative genetic programming method for autoparallelization which is based on program transformations and loop transformations. This approach eliminates the drawback of provability since the parallel program is equivalent to the sequential one, if all transformations applied are legal transformations. The book concludes with a some recommendations based on the experiences of the author by using genetic programming in this application field. The book is well structured and well suited for either people, who are familiar with parallelization and want to learn some general things about evolutionary methods in optimization, or people who are familiar with evolutionary optimization and want to learn how to apply it to re-engineering problems.











This page was built for publication: Automatic re-engineering of software using genetic programming

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4937695)