研究課題/領域番号 |
16K00103
|
研究機関 | 高知工科大学 |
研究代表者 |
鵜川 始陽 高知工科大学, 情報学群, 准教授 (50423017)
|
研究分担者 |
岩崎 英哉 電気通信大学, 大学院情報理工学研究科, 教授 (90203372)
|
研究期間 (年度) |
2016-04-01 – 2019-03-31
|
キーワード | 仮想機械 / 組込みシステム / ガベージコレクション / モデル検査 / コンパイラ |
研究実績の概要 |
本研究の目的は,組み込みシステムで動作する高性能なJavaScript処理系を研究することである.そのために,システム毎にそのシステムで実行されるプログラムに特化したVMを作れるような仕組みを研究開発している.研究代表者と分担者らがサーバサイドJavaScript処理系として開発してきたJavaScript仮想機械(VM)とコンパイラをもとにして,(1)VMの仕様からプログラムに特化したVMのインタプリタを合成する仕組の開発,(2)ガベージコレクション(GC)等の機能のモジュール化を行う計画である.平成29年度の成果は次のとおりである. (1)平成28年度に行ったDSLで記述されたVMの仕様からインタプリタを生成するツールの試作の経験を基にして,実用に耐えうるVM自動生成ツールを設計し実装した.具体的にはアプリケーションが利用するデータ型を指定し,それに基づき最適化された型ディスパッチコードを自動生成する仕組みを実現した. (2)コピー方式のGCモジュールを実装し,既存のマークスイープ方式と選択可能にした.オブジェクトを移動する仕組みを導入することにより,世代別GCの実現に向けて道筋を付けた. (3)コンパイラにコード最適化機構を実装した.定数伝播などの一般的な最適化に加えて,JavaScript特有のarguments配列の削減や引数やローカル変数をレジスタに割り付ける最適化を実現した. (4)今後の信頼性の高いGCの開発に備えて,ARMのような弱いメモリモデルでGCのモデル検査をするためのライブラリを開発した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
1: 当初の計画以上に進展している
理由
平成29年度に計画していた3つの課題に対して,以下のような進捗が得られている. (1) VMの自動生成機構に関してはユーザによる型割り当て情報,各命令に与えられる型情報から最適化されたVMソースコードを自動的に生成するフレームワークを実現した.この成果は定評ある国際会議に採択された. (2) GCと通信機構のモジュール化に関しては,GCについていくつかのアルゴリズムを実装したモジュールを提供し選択可能とする仕組みを達成した. (3) コンパイラに関しては,研究実績の概要で述べたような最適化機構を実装した.モデル検査に関しても,弱いメモリモデルでのGCの振舞いを検証し,広く知られているGCに誤りを発見した.その成果は一流の国際会議OOPSLA2017で発表した.また,モデル検査をするためのライブラリを開発し,その論文は英文論文誌に採択された.
|
今後の研究の推進方策 |
平成30年度は本研究のまとめとして以下の課題にとりくみ,これらの成果を総括し,論文を投稿する. (1)ユーザによる型定義情報から生成されるコードをさらに洗練するとともに,この機構を型変換関数やGC,組込み関数など,型に依存した振舞いをする仮想機械のモジュールに広く適用する. (2)オブジェクトのコンパクトな表現を開発して,仮想機械本体だけでなくアプリケーションが使うデータの占めるメモリも削減する. (3)実用的なIoTデバイス上で利用できるフレームワークを開発し,本研究課題において開発した成果の効果を,実機上で総合的に検証する.
|
次年度使用額が生じた理由 |
主要な研究成果である,仮想機械の自動生成に関する論文が国際会議に採択された.しかし,開催が年度を越えた2018年4月であるため,今年度の旅費の一部を翌年度に使用することにした.翌年度分として請求した助成金の使用計画には変更はない.
|