研究概要 |
本研究の目的は,本研究代表者が提唱した疑似線形型システムに基づく新しいメモリ管理方式の実現により,プログラミング言語処理系のメモリ管理の信頼性および効率を改善することであった.主要な成果は以下のとおり. ・擬似線形型システムに基づく型推論によるメモリの獲得・解放命令の挿入…擬似線形型システムに基づき,プログラム中で用いられる各データが最後に使用される箇所を特定し,その部分にメモリの解放命令を挿入するための方法を確立し,関数型言語MLを対象としてプロトタイプシステムを構築した. ・擬似線形型システムに基づくメモリ管理のためのバイトコード言語の設計と実装…上で述べたメモリの獲得・解放命令を挿入したプログラムを実際に実行するためのバイトコード言語を設計し,実装を行った. ・通常のメモリ管理の改良と本メモリ管理方式との融合…擬似線形型システムのみでは自動的に管理できないメモリが存在するため,既存のメモリ管理方式であるGCを改良して融合する方法について研究した.主な課題はGC自体の性能,特に並列計算機上のGCの性能をあげること,および疑似線形型に基づくメモリ管理によるダングリングポインタの問題の解決であった.後者については型情報を実行時まで保存し,GC時にこれを用いることによってこの問題を解決した. ・線形型解析の資源使用解析への一般化…疑似線形型を拡張し,ファイルやネットワークなど一般の計算資源の使用方法の解析を行うための型システムを構築した.これにより(i)割り当てられたメモリはいずれ解放され,解放後はアクセスされない,(ii)オープンされたファイルはいずれクローズされ,クローズ後は読み書きされない,といった性質が満たされているかを統一的に検証することができる.
|