Code compaction using genetic algorithms

Keith E. Mathias, Larry J. Eshelman, J. David Schaffer, Lex Augusteijn, Paul F. Hoogendijk, Rik van de Wiel · 2000

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.

Read the paper · More papers on PaperTik