研究概要 |
本研究では,プログラミング言語処理系におけるメモリ管理を,(疑似)線形型などの静的解析によって得られる情報を用いることにより,安全かつ効率よく実現することを目指している.本年度の研究実績は以下のとおり. 1.線形型に基づくメモリ管理のための実行時システムの実装と実験…前年度までにプログラマが書いたソースプログラムから線形型に関する情報(メモリの割り当て・解放をどこで行うかの情報)つきのソースプログラムヘの変換の仕組みはできていたが,それをどのように実行時コードにコンパイルし実行するかの詳細が未定であった.そこで,本年度は実行時コードを記述する低レベル言語を設計するとともに,そのコードの実行系の実装を行った.具体的には関数型言語Ocamlのバイトコードインタプリタを改造し,命令セットを拡張するとともに,メモリ管理部分を我々の方式に基づくものに置き換えた. 2.既存のガベージコレクションの改良…すべてのメモリ領域に疑似線形型を用いたメモリ管理方式が適用できるわけではないため,既存のガベージコレクションと併用して用いる必要がある.本年度は特に並列計算機上のガベージコレクションの改良を行った. 3.線形型解析の資源使用解析への一般化…疑似線形型は当初はメモリの使用に関する解析を行いメモリ管理に役立てるために考案したものだが,これをメモリに限らず,ファイルやネットワークなど一般の計算資源の使用方法の解析を行うための型システムを構築した.これにより,将来的には疑似線形型に基づくメモリ管理だけでなくリージョン・エフェクトシステムなどに基づく他の静的メモリ管理方式の安全性の検証が可能となるとともに,メモリ以外の計算資源の安全な使用も保証できると期待される.
|