実行プログラムから無駄な部分を省くというのは新しい考え方ではない。古典 的なコンパイラの最適化手法においてもしばしば見られるものであるが、従来で はこうした最適化は未使用のコードをファイルから削除することで、コードサイ ズを縮小するというよりも実行速度を改善することを目的にしてきた。しかしこ れらの技術も当然ソフトウェアの縮小に応用できる。
またコード圧縮技術そのものにも、コードを圧縮して格納し、実行時に必要な 部分を解凍しながら実行する方法や専用のハードウェアの支援を受ける方法、実 行可能な形態のままで圧縮する方法などが研究されている。本報告書ではこれま でに研究されてきたコード圧縮技術に関して、特に実行コードサイズを縮小する ものに着目して調査を行った。そしてこれらの技術を体系化して調査し、比較検 証することで今後の研究への参考資料を提供することが本報告書の目的である。 基幹となる技術はパターンマッチングを応用してコードの冗長部を検索し、ファ クタリゼイションによって圧縮するというものである。
今後のコンピューター利用は、ネットワーク及び組み込み分野に重点をシフトし ていくと考えられるが、コードサイズを縮小するための技術はこれらの分野でも 広く使われることが見込まれ、そのために必要となる要素に主眼を置いて研究が 進められていることが分かった。