研究概要 |
本研究では,プログラミング言語処理系におけるメモリ管理を,(疑似)線形型などの静的解析によって得られる情報を用いることにより効率化することを目指している.本年度の研究実績は以下のとおり. 1.線形型に基づく型推論手法の改善…疑似線形型システムによるメモリ管理を実際の言語に適用して評価するため,MLの処理系の一つであるML Kit 3の型推論部を改造し,疑似線形型を持つ値(すなわち静的にメモリの解放場所を特定できる値)の解析アルゴリズムの実装を行った.さらに既存の解析アルゴリズムは効率が悪く実用に耐えなかったため,その効率化の手法についても考案した.現在まだ実装が完了していないが,予備実験の結果から推測すると大幅な効率の改善が期待できる. 2.線形型に基づくメモリ管理とガベージコレクションとの融合…疑似線形型システムを用いたメモリ管理手法においては,指す先がすでに解放されてしまっているダングリングポインタが生じる可能性があるため,通常の,ポインタによって辿れない領域のみを解放するというガベージコレクションとの併用が困難であった.それに対し,我々は,型情報を実行時まで保持することによってダングリングポインタの問題を解決し,ガベージコレクションとの融合が可能になることを示した. 3.並行プログラミング言語におけるメモリ管理のための線形型システムとその変種…上記1,2は関数型プログラミング言語におけるメモリ管理方式に関する研究であるが,線形型の概念を並行プログラミング言語にも取り入れ,不要となった通信チャネル(とそのメモリ)を解放するコードを静的に挿入するための型システムを考案した.
|