本研究では、コンピューターゲームCodeGuru Xtremeの競争環境で、アセンブリコードを自動生成するために、文脈自由文法に基づいた遺伝的プログラミング(G3P)を使用した。
G3Pでは、アセンブリコードをAbstract Syntax Tree(AST)で表現し、文法制約に従って進化させる。進化の目的は、過去の人間が書いた優勝プログラムを倒すことである。
進化の過程で以下のような特徴が見られた:
相手プログラムの弱点を見つけ出し、それを利用する。例えば、2012年の優勝プログラム"Zorg"の重要な部分をオーバーライトすることで勝利できた。
メモリへの書き込みパターンが重要。散らばった書き込みや垂直方向の書き込みが有効だった。これにより、相手のコードに早く到達できる。
擬似乱数発生器の利用が進化を促進した。これにより、より複雑な書き込みパターンが生成された。
全体として、本研究はコンピューターセキュリティの分野で重要な応用を持つ。進化的手法を使ってコードの弱点を発見し、修正することができる。また、CodeGuru Xtremeは、敵対的な環境でのGPと進化的コード生成を分析するための新しいプラットフォームを提供する。
다른 언어로
소스 콘텐츠 기반
arxiv.org
더 깊은 질문