パターンマッチに基づくバイトコード変換とその型安全性
スポンサーリンク
概要
- 論文の詳細を見る
プログラムの高速化, 機能追加を行うには, プログラム構造に応じた横断的な変更が必要になることがある.我々は, このような拡張操作に必要なコストを軽減するため, バイトコード変換ツールCusapiを提案している.Cusapiでは, バイトコード変換を行う変換モジュールを作成, 通常のライブラリのように配布し, ユーザプログラムに対して変換を適用することができる.また, 変換モジュール作成者は, パターンマッチによりプログラム構造の特徴を抽出することで, 対象プログラムに応じたコード変換を記述できる.ただし, このような変換を行うためには, 変換後プログラムの整合性, たとえば変換により追加されたメソッドと, 変換前から存在するメソッドのシグネチャが重複する可能性などを考慮しなければならない.変換モジュールを一般ライブラリのように利用するためには, 任意のプログラムに対して, 安全に変換を適用できることを事前に保証すべきである.本発表では, 変換モジュールの安全性として, 変換後プログラムがJava言語仕様違反を犯さないことを, 事前に保証するための型システムを提案する.本システムは, パターンとして宣言的に記述された対象プログラムの特徴のみを前提として, 任意の変換後プログラムが言語仕様を満たすか否かを判定する.この前提には, 変換対象となるプログラムが言語仕様を満たす, つまり型整合性を持ち, メソッド型の重複なども存在しないという性質も含む.変換後プログラムについても同様の性質が導出可能であれば, 変換は任意のプログラムに安全に適用可能であると判定される.
- 2005-10-15
著者
-
鎌田 十三郎
神戸大学工学部情報知能工学科
-
鎌田 十三郎
プログラミング研究会論文誌編集委員会
-
川上 祐介
神戸大学大学院自然科学研究科情報知能工学専攻|現在,ソニー株式会社
-
川上 祐介
神戸大学大学院自然科学研究科情報知能工学専攻|現在 ソニー株式会社
関連論文
- バイトコード変換を用いたJava標準API拡張ツール
- 共有メモリ型並列計算機におけるキャッシュを意識したオブジェクト内レイアウト法
- 要求駆動型XML計算環境Nanafusiの実装と評価(オペレーティングシステム)
- オブジェクト指向並列言語OPAのためのコード生成手法
- Featherweight Javaを対象としたプログラム変換に対する型システムの提案
- 並列計算機におけるキャッシュを意識した自動メモリ管理機構(キャッシュの効率的利用)
- 超並列計算機上の高効率な大域的ガーベジコレクション
- ユーザプログラムに応じた変換を容易に実現できるバイトコード変換系Cusapiとその応用
- パターンマッチに基づくバイトコード変換とその型安全性
- モード切替機構を持つ分散環境向けJava集合ライブラリの提案
- 細粒度スレッド対応デバッガのポータブルな実装方式
- 適応的オブジェクトによる排他制御の実行時緩和 (並列処理)
- 局面単位キャッシュ機構を持つ分散計算環境とそのアプリケーション評価
- 「情報処理学会論文誌 : プログラミング」の編集について
- 要求駆動型XML処理のスケジューリングおよびメモリに関する効率化(プログラミングモデル・ツール)
- 適応的オブジェクトのための局面解析手法
- オブジェクト指向並列言語によるN体問題の並列化とその評価