HOME未踏/セキュリティ・キャンプ2010年度 採択案件概要

本文を印刷する

未踏/セキュリティ・キャンプ

2010年度 採択案件概要

1.担当PM

 首藤 一幸PM(東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 准教授)

2.採択者氏名

 チーフクリエータ:井出 真広(横浜国立大学大学院)

 コクリエータ:なし

3.採択金額

 1,792,000円

4.テーマ名

 JavaScriptのGCCフロントエンドの開発

5.関連Webサイト

 なし

6.申請テーマ概要

 JavaScriptはWebブラウザ上に実装されているスクリプティング言語で、ほとんどすべてのWebブラウザに実装されている。JavaScriptの実行性能の向上により、デスクトップアプリケーションと遜色ない、大規模Webアプリケーションを実現することが可能となったため、JavaScriptはWebアプリケーションを構築する際には必要不可欠な存在となって来ている。

 クライアントサイドのWebアプリケーションはそれぞれ基盤となるライブラリ、フレームワークの上に構築され、その上にそれぞれのWebアプリケーションのためのコードが記述される。ここで、各アプリケーションはブラウザ上で実行される際に、ライブラリ、フレームワークはアプリケーションごとに複製されて実行されるため、メモリ効率があまりよくないと言える。

 本提案では、JavaScriptのGCCフロントエンド gccjsの開発を行う。
gccjsを用いてプログラムの実行前にJavaScriptコードを機械語へコンパイルすることで、アプリケーション間でコードを共有し、プログラムサイズを小さくでき、レスポンス性能が高く、ロード時間の短いWebアプリケーションの構築につながるのではないかと考えている。 

7.採択理由

 今日、Webブラウザ上で動作するプログラムは、おしなべてJavaScript言語で書かれるようになった。
世界中が、実行時(JIT)コンパイルという方式で、JavaScriptプログラムの高速化にしのぎを削っている。
提案は、実行前にコンパイルを済ませてしまう(AOT)コンパイラを開発しようというものである。

 AOTコンパイラにはJITコンパイラとは違ったメリット(例えばコードのプロセス間共有)があり、また、実際に開発することで、その性能、使い勝手等も明らかになろう。
JavaScriptのような言語でコンパイルして性能を高めることは易しくないが、井出君はそれを理解し、対策を検討している。

 達成は決して容易ではないが、言語処理系の開発経験もあり、自らの動機に基づく提案なので、期待している。

未踏/セキュリティ・キャンプ