Code Compaction Using Genetic Algorithms

One method for compacting executable computer code is to replace commonly repeated sequences of instructions with macro instructions from a decoding dictionary. The size of the decoding dictionary is often small in comparison to the number of all possible macros. Choosing the macros that yield the best compaction is a difficult subset selection problem because multiple, but colliding, macros may be applicable to many code segments. We show that a genetic algorithm using a new crossover operator, MSX, gives better compaction than heuristics designed specifically for this problem. We also compare MSX with other crossover operators on a surrogate problem that models the essential properties of the code compaction problem.

[1]  L. Darrell Whitley,et al.  Messy Genetic Algorithms for Subset Feature Selection , 1997, ICGA.

[2]  Keith E. Mathias,et al.  Convergence Controlled Variation , 1996, FOGA.

[3]  L. Darrell Whitley,et al.  Evaluating Evolutionary Algorithms , 1996, Artif. Intell..

[4]  Jerzy W. Bala,et al.  Using Learning to Facilitate the Evolution of Features for Recognizing Visual Concepts , 1996, Evolutionary Computation.

[5]  Christopher W. Fraser,et al.  Custom Instruction Sets for Code Compression , 1995 .

[6]  M. Kozuch,et al.  Compression of embedded system programs , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[7]  L. Darrell Whitley,et al.  Changing Representations During Search: A Comparative Study of Delta Coding , 1994, Evolutionary Computation.

[8]  Larry J. Eshelman,et al.  The CHC Adaptive Search Algorithm: How to Have Safe Search When Engaging in Nontraditional Genetic Recombination , 1990, FOGA.

[9]  James A. Storer,et al.  Data compression via textual substitution , 1982, JACM.

[10]  Roger L. Wainwright,et al.  A Study of Fixed-Length Subset Recombination , 1996, FOGA.

[11]  Erik D. Goodman,et al.  Simultaneous Feature Extraction and Selection Using a Masking Genetic Algorithm , 1997 .

[12]  Andrew Wolfe,et al.  A high-speed asynchronous decompression circuit for embedded processors , 1997, Proceedings Seventeenth Conference on Advanced Research in VLSI.

[13]  Nicholas J. Radcliffe,et al.  Genetic Set Recombination , 1992, FOGA.

[14]  Lex Augusteijn,et al.  A code compression system based on pipelined interpreters , 1999, Softw. Pract. Exp..