はじめに

本書をお手にとっていただきありがとうございます!*1

[*1] こんな何だかよく分からない本を、本当にありがとうございます。。

本書では、前著「バイナリ生物学入門」で紹介した「実行バイナリを生物に見立てる設計」へ「進化」の仕組みを追加することで、実行バイナリを進化により生み出せるようにした「daisy-tools」というツールを紹介する本です。

プログラマの三大美徳の一つに「怠惰」がありますが、その究極は「寝て、起きたらできあがっている」だと思います。本書で紹介するdaisy-toolsは、「コードを書くことでバイナリを生成」する従来の「プログラミング」による方法とは違い、「バイナリを進化させる」事で任意のバイナリを生成します。それによりエンジニアは、進化を評価するスクリプトを書くだけで、実行バイナリ本体に関するコードは書かずに目的のバイナリを生成できます。(と言っても、現実的に生成できるのは簡単なもののみですが。)

本書の構成

本書ではdaisy-toolsについて以下の3章構成で紹介します。

  • 第1章 daisy-toolsのコンセプトとアーキテクチャ
    • daisy-toolsの基本コンセプトと、バイナリを進化させる仕組みを紹介します。
  • 第2章 daisy-toolsの使い方
    • 使い方を実行例と共に紹介します。
  • 第3章 実験結果紹介
    • 「終了ステータス0で正常終了する」・「'A'を出力して正常終了する」という2つのELFバイナリの生成について実験結果を紹介します。

PDF/HTML版や本書の更新情報について

本書のPDF/HTML版は筆者のウェブページで公開しています。

本書の内容について訂正や更新があった場合もこちらのページに記載しますので、何かおかしな点などあった場合はまずはこちらのページをご覧ください。