2008 Fiscal Year Annual Research Report
安全性と再利用性の高いアスペクト指向言語の設計と実現方式
Project/Area Number |
08J11378
|
Research Institution | The University of Tokyo |
Principal Investigator |
青谷 知幸 The University of Tokyo, 大学院・総合文化研究科, 特別研究員(DC2)
|
Keywords | 計算機科学 / プログラミング言語 / アスペクト指向 / 型システム / コンパイラ / 最適化 |
Research Abstract |
アスペクト指向プログラミング(AOP)言語において、(1)AOPに特有のプログラミングの誤りを発見する型システムを提案してその定式化を行うと共に、(2)pluggableな最適化を可能とする処理系の作り方を提案した。一番目の話題は論文誌コンピュータソフトウェアに採択された。二番目の話題は国際会議Aspect Oriented Software Developmentにおいてポスター発表を行った。また、これらの研究を一つにまとめて博士論文を書いで学位を取得した。この博士論文は優秀な学位論文として東京大学大学院総合文化研究科に認められ、一高賞を得た。 プログラミングの誤りを発見する型システムについて述べる。モジュール間に散らばって存在するコードをモジュール化するAOPでは、コードの散らばり方をプログラマが指定するが、この指定は複雑で誤りやすい。採用者が提案した型システムは、(a)コードの散らばり方の指定の中に存在する矛盾と(b)コードと散らばり方の指定の間に存在する矛盾の二つを、型を使って検出する。定式化はJava言語の小さな計算体系であるFeatherweightJavaを拡張して行い、この上で採用者は検出された矛盾が必ず誤りであることを証明した。 次にpluggableな最適化について述べる。最適化がpluggableであるとは、ユーザー定義の最適化処理がコンパイラを拡張せずに組み込めることである。gccのようなコンパイラでは、ユーザはオプションを指定することでコンパイラに既に実装されている最適化の方法を選択できるが、新たな最適化の手法を組み込もうとすると、コンパイラの拡張が必要になる。青谷はこれまでに行ってきたプログラム解析に基づくポイントカットを利用することでプログラム中に現れる実行時検査の回数を減らせることに着目し、特に、ユーザ定義のプログラム解析に基づくポイントカットを実現する仕組みがあれば,pluggableな最適化が可能であることを指摘した。また、ユーザ定義のプログラム解析に基づくポイントカットを実現するSCoPEコンパイラを拡張して実験を行ない、コンパイルされたプログラムの実行時間が短くなっていることを確めた。
|
Research Products
(4 results)