疎な要求駆動型データフロー解析
スポンサーリンク
概要
- 論文の詳細を見る
プログラム解析やコード最適化においては, データフロー解析がよく使用される.この解析は, 目的とする情報をプログラム全体から収集することを仮定しているので, プログラムの一部分だけを解析したい場合や, 一部の解析結果を用いてプログラムを変形し, さらに変形後のプログラム上で他の部分の解析を行うことを繰り返す場合には, 余分なコストが必要になる.このような場合には, 情報を必要とするプログラム点について, そこに影響を及ぼす部分だけを解析する要求駆動型のデータフロー解析が有効である.しかしながら, 一般のデータフロー解析には, 1ワード分の情報を並列計算するビットベクタ法や, 解析に不要な部分を訪問せずに解析を行う疎な解析法が考案されているのに対して, 要求駆動型のデータフロー解析については, これまで高速化手法の提案が行われていない.本稿では, 解析に不要なプログラム点を訪問しない疎な要求駆動型のデータフロー解析を提案する.あるプログラム点での解析結果に基づいてプログラムを変形した後に, 他のプログラム点についての解析を行おうとすると, その変形にともなって, 解析が不要な部分も変わる可能性がある.本手法では, プログラムの深さに相当するランク情報を用いて不要なプログラム点を動的に計算するので, プログラム変形が行われた場合でも, 変形後のプログラムを反映した疎な解析が実現できる.
- 2005-08-15
著者
-
福岡 岳穂
株式会社管理工学研究所
-
佐々 政孝
東京工業大学大学院情報理工学研究科
-
滝本 宗宏
東京理科大学
-
原田 賢一
慶應義塾大学理工学部情報工学科
-
原田 賢一
慶應義塾大学
-
滝本 宗宏
東京理科大学情報科学科
-
滝本 宗宏
東京理科大学理工学部
関連論文
- LZH法における並列データ圧縮技法
- マルチメディアSIMD命令活用のためのデータサイズ推論
- プログラムスライシングに基づく関心事グラフ構築
- 属性文法に基づくテストプログラム生成器の設計と実装
- 属性文法の系統的デバッグ法
- 双方向CTLによるJava最適化器の生成
- VoIPにおける音声品質補償方式の検討
- 質問伝播に基づく投機的部分冗長除去
- 自動的等価性差分の抽出によるSSAコンパイラ最適化器の生成するコードの正しさの検証
- Rubyによる複数資源要約システムの実現
- Rubyによる複数資源要約システムの実現
- リサーチ9 コンパイラにおける字句解析・構文解析過程の視覚化
- コンパイラにおける構文解析過程の視覚化
- モバイルエージエントのためのデータフロー解析とその応用
- 特集「最新コンパイラ技術とCOINSによる実践」の編集にあたって
- 静的単一代入形式を用いた最適化(発展編)(最新コンパイラ技術とCOINSによる実践)
- 静的単一代入形式を用いた最適化(導入編)(最新コンパイラ技術とCOINSによる実践)
- 部分冗長除去に基づく大域命令スケジューリング
- 式の出現に基づく大域値番号付け
- 部分冗長除去の命令スケジューリングへの応用
- コンパイラ・インフラストラクチャにおける静的単一代入形式最適化部の実現
- 疎な要求駆動型データフロー解析
- 高階移動エージェント向けJavaパッケージの開発 : 関数型言語実装の一手段
- 高階移動エージェントのロボット制御への応用 : 実用システムに向けて
- 一般支配関係の効率的な検査法
- 別名情報に基づくレジスタ促進
- May別名除去
- 別名情報による段階的詳細化に基づいた等価式発見
- 依存グラフを用いたコード移動妨害領域の効果的な除去法
- 拡張値グラフを用いた部分無効コード除去法
- 効率的な完全冗長除去
- 拡張値グラフを用いた部分無効コード除去法
- 拡張値グラフに基づく効果的な部分冗長除去法
- 拡張値グラフに基づくコード最適化 : 定数畳込みと強さの軽減
- 部分的無効コードの効率的除去法
- φ-関数移動による効率的な部分的冗長計算除去
- データフローグラフに基づく部分的冗長計算除去の拡張
- Java言語上の細粒度マルチスレッドフレームワークにおける問題点の考察
- BDDを利用したCプログラムのfield-sensitiveなポインタ解析(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- Array SSAとそれを用いた最適化の実装と評価(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- BDDを利用したCプログラムのfield-sensitiveなポインタ解析(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- Array SSAとそれを用いた最適化の実装と評価(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- COINSコンパイラ・インフラストラクチャの開発(ソフトウェア論文,最新コンパイラ技術とCOINSによる実践)
- 静的単一代入形式上で通常形式部分冗長除去を実現する汎用的手法
- コンパイラ・インフラストラクチャCOINSを用いたSSA最適化(その2)(21世紀のコンパイラ道しるべ・・COINSをベースにして,連載6)
- コンパイラ・インフラストラクチャCOINSを用いたSSA最適化(その1)(21世紀のコンパイラ道しるべ・・COINSをベースにして)
- 静的単一代入形式からの逆変換アルゴリズムの比較と評価
- 属性文法の系統的デバッグ法におけるバグ絞り込みの効率化(プログラミングおよびプログラミング言語)
- アセンブリ言語上でのプログラム特化
- ソース言語レベルにおける属性文法の最適化
- H-014 後続要素の予測を利用する系列予測モデル(H分野:生体情報科学)
- 談話構造に基づく語彙選択を行うXMLデータベースからのテキスト生成
- 天気予報を対象としたXML-DBからの動的な文章作成 (2002年情報学シンポジウム 講演論文集--情報社会のセマンティクスXMLとSemantic Web,電子政府への展望,ロボットとの共生) -- (セッション2:XML)
- tf/idf重み付けに基づく動的文書生成
- 階層型ネットワークに基づく動的な意味表現からの日本語文の生成
- 5N-5 情報の濃度に基づく参照表現の生成
- 意味焦点駆動文生成
- 意味焦点駆動文生成
- ソフトウェア工学研究会の歩みを振り返って
- アダプティブな実行時コード最適化
- 範疇文法における格選択制限の一手法
- 日本語文における名詞並列の構造解析
- 分散環塊のための並行オブジェクト指向言語処理系の実行時環境
- 実行時コード最適化の自動化
- データ並列言語における通信と計算のオーバーラップの効果
- データ再利用による分散メモリ上のデータ転送最適化手法
- 高階関数に基づく範疇文法系の日本語への適用 : 表層と深層の語彙主導的な対応づけ
- 範疇単一化文法を日本語ヘ適用する際の付加的な規則について
- 範疇単一化文法に規則を併用した日本語の構文解析
- 英文テキストからの索引自動生成に関する研究
- 並行オブジェクト指向言語yの実行時環境
- 属性文法における属性の並列評価法に関する研究
- 範疇単一化文法の日本語への適用
- 日本語対話文における省略語の補完
- SSA形式によるレジスタ割付
- LR属性文法に基づいたインクリメンタルな属性評価
- 属性文法に基づくグラフィカルユーザインタフェース生成系とその評価
- SSA形式を利用したPredicated Execution向け命令スケジューリング手法
- SSA形式を利用したPredicated Execution向け命令スケジューリング手法
- SSA形式を中間言語とするコンパイラの属性文法による定式化と開発(一般発表)
- 属性文法によるSSA上の最適化器記述
- 属性文法に対するデバッガ
- 循環属性文法に基づく生成系Junについて
- 属性文法に対するデバッグ方式の構想
- 木属性文法とGUI生成系を利用したデバッガの作成
- 異機種分散環境上でのDcamlバイトコードコンパイラの設計と実現
- 異機種分散環境上でのDcamlネイティブコンパイラの設計と実現
- 異機種分散環境上のアプリケーション開発環境Dcamlシステムの構想
- プログラミング言語処理系SqueakのSHARP Zaurusへの移植とその評価
- 低レベル命令セット仮想計算機を利用した混成環境におけるプロセス移送
- 高速実行可能な低レベル命令セット仮想計算機の設計
- 東京工業大学における情報教育(物理と情報)
- 属性文法に対する系統的デバッグ方式
- 属性文法記述に基づくプログラミング環境の生成方式
- 粗粒度並列化コンパイラCoCoの開発(並列処理のためのシステム)
- 1パス型属性文法に基づくコンパイラ生成系Rie
- フリーソフトウェアの開発と保守作業に関する考察 : コンパイラ生成系Rieを例として
- 配列の次元を考慮した大域ロード命令集約(学生及び若手(パラレルセッション:実装))
- 配列の次元を考慮した大域ロード命令集約(学生及び若手(パラレルセッション:実装))
- ARとジェスチャを用いたエージェント用インタフェースの開発(Al応用(1))