Core Concepts
Utilizing Genetic Programming, the authors evolve assembly code survivors that are able to defeat past winners of the CodeGuru Xtreme competition through the exploitation of their weaknesses.
Abstract
The authors present a method for evolving assembly code survivors in an adversarial environment, specifically targeting the CodeGuru Xtreme competition. They use Grammar-Guided Genetic Programming (G3P) to synthesize assembly code that is able to outperform human-written winning survivors from past years of the competition.
The key highlights and insights from the content are:
The authors define a Backus Normal Form (BNF) grammar to represent the assembly language, which allows them to evolve assembly programs following grammar-type constraints.
They evaluate the evolved survivors by running CodeGuru games against past human-written winners, and their fitness function encourages the survivors to win the competition, survive for longer periods, and write in different memory locations to damage opponents.
The authors' evolved programs were able to identify and exploit weaknesses in the programs they were trained against, winning against almost 78% of the past years' human-written winners.
The authors provide a comprehensive qualitative analysis of the evolved survivors, revealing patterns such as utilizing the opponents' "Achilles' heel", employing scattered and vertical memory writes, and incorporating random number generation to enhance the survivors' capabilities.
The authors compare their approach to using a Large-Language Model (LLM), specifically ChatGPT, and demonstrate that the LLM is unable to generate a survivor capable of winning any competition.
The CodeGuru Xtreme competition is presented as a valuable platform for studying Genetic Programming and code evolution in adversarial environments, with implications for cybersecurity and the understanding of computer viruses.