2004 Fiscal Year Annual Research Report
実行の安全性を保証するC言語コンパイラの実装手法に関する研究
Project/Area Number |
03J10889
|
Research Institution | The University of Tokyo |
Principal Investigator |
大岩 寛 東京大学, 大学院・情報理工学系研究科, 特別研究員(DC2)
|
Keywords | セキュリティー / C言語 / 安全性 / コンパイラ |
Research Abstract |
昨年度に引き続き、メモリ操作の安全性を保証するC言語の処理系である「Fail-Safe C」の実装を継続し、ANSI-C規格に定められたC言語仕様に対するほぼ完全な処理系を完成した。本件コンパイラとともに用いられるファイル操作などのC言語標準ライブラリについても設計と実装を進め、ある程度の世間に既に存在するプログラムをコンパイルして単独で実行できることを確認した。また、本研究の安全性保証の手法の基本的な性質を変えることなく、プログラムの実行を更に高速化する技法を考案し、実際に処理系に実装してその効果を確認した。これらの実装の進捗により、既存の性能評価プログラムにFail-Safe Cを適応することが可能になり、所期の性能が十分に得られていることが確認できた。 一方で、本研究はC言語のみを対象としているが、実際には世間に存在するプログラムの多くがC言語を拡張したC++言語で記述されるようになってきており、C言語のみを対象とした処理系が将来その有用性を減ずることを考慮し、本研究で提案している手法が将来的にC++言語に拡張できることについても考察と簡易な実装を行い、その結果、本手法が将来にわたって可用性を損なわないことを確認することができた。この手法は上記の高速化技法を巧妙に拡張する形で実装されており、本研究の特色を活かしたものになっている。本件については国内のワークショップで発表を行った。 本研究の成果物であるFail-Safe Cコンパイラについては、予定通りオープンソース・ソフトウェアとして公開すべく、公開物としてのパッケージ化と調整を進めており、まもなくインターネット上で公開できる見込である。また、本研究で得られた知見については、既にその一部を含む形で博士論文が提出されているが、外部発表についても投稿準備をすすめており、近いうちに適切な学会・論文誌を選定し投稿する予定である。
|