ログイン 新規登録
言語:

WEKO3

  • トップ
  • ランキング
To
lat lon distance
To

Field does not validate



インデックスリンク

インデックスツリー

メールアドレスを入力してください。

WEKO

One fine body…

WEKO

One fine body…

アイテム

  1. 論文誌(トランザクション)
  2. プログラミング(PRO)
  3. Vol.40
  4. No.SIG10(PRO5)

Javaバイトコードをデコンパイルするための効果的なアルゴリズム

https://ipsj.ixsq.nii.ac.jp/records/16961
https://ipsj.ixsq.nii.ac.jp/records/16961
c9959b46-78af-4580-bba7-6f65e5f4814f
名前 / ファイル ライセンス アクション
IPSJ-TPRO4010005.pdf IPSJ-TPRO4010005.pdf (2.4 MB)
Copyright (c) 1999 by the Information Processing Society of Japan
オープンアクセス
Item type Trans(1)
公開日 1999-12-15
タイトル
タイトル Javaバイトコードをデコンパイルするための効果的なアルゴリズム
タイトル
言語 en
タイトル An Effective Decompilation Algorithm for Java Bytecodes
言語
言語 jpn
キーワード
主題Scheme Other
主題 通常論文
資源タイプ
資源タイプ識別子 http://purl.org/coar/resource_type/c_6501
資源タイプ journal article
著者所属
東京工業大学情報理工学研究科
著者所属
東京工業大学情報理工学研究科
著者所属
東京工業大学情報理工学研究科
著者所属(英)
en
Graduate School of Information Science and Engineering, Tokyo Institute of Technology
著者所属(英)
en
Graduate School of Information Science and Engineering, Tokyo Institute of Technology
著者所属(英)
en
Graduate School of Information Science and Engineering, Tokyo Institute of Technology
著者名 丸山, 冬彦 小川, 宏高 松岡, 聡

× 丸山, 冬彦 小川, 宏高 松岡, 聡

丸山, 冬彦
小川, 宏高
松岡, 聡

Search repository
著者名(英) Fuyuhiko, Maruyama Hirotaka, Ogawa Satoshi, Matsuoka

× Fuyuhiko, Maruyama Hirotaka, Ogawa Satoshi, Matsuoka

en Fuyuhiko, Maruyama
Hirotaka, Ogawa
Satoshi, Matsuoka

Search repository
論文抄録
内容記述タイプ Other
内容記述 機械語命令列から同じ意味のソースプログラムを復元するデコンパイルという技術は古くから知られており 主に リバースエンジニアリングのための手段の一つとして利用されてきた.実際に Javaとそのバイトコードに関しても いくつかの処理系が提案されているが これまで提供されてきた処理系では Java言語には無いgotoを挿入するなど Java言語の文法を逸脱した結果を出力することがある.また デコンパイルのアルゴリズムがアドホックで 応用の利かないものであるため 我々のOpenJITコンパイラが要求するような 任意のバイトコードから正しいソース構造を復元するでコンパイラフロントエンドとして用いることができない.そこで 我々はJavaバイトコードから適切なJava言語の制御構造を復元するための効果的なアルゴリズムを新しく考案した.アルゴリズムの基本となる考え方は メソッドのコントロールフローグラフに対するドミネータツリーを用いるものである.これはブロック構造が完全な入れ子になる言語の場合 制御構造を表す任意のプログラム片はドミネータツリーにおいて ただ一つのサブツリーをなすという性質に基づいている.この一般性により アルゴリズムはJava以外の言語に適用することも可能である.OpenJITでの予備的な実装による評価では 他のデコンパイラが制御構造の復元に失敗するプログラムであっても 我々のアルゴリズムは適切にそれを復元し かつ 実行速度は同程度であることを示した.
論文抄録(英)
内容記述タイプ Other
内容記述 The technique called decompilation that reads sequences of machine code and generates the corresponding source program has been known for some time, and utilized primarily for reverse-engineering. For Java and its bytecode, although there have been several proposals of decompilers, most generate outputs that are inappropriately extend the Java language, such as insertion of gotos not present in Java. Moreover, the decompilation algorithms are somewhat ad-hoc and difficult to extend of verify its applicability, which is a hindrance to out OpenJIT compiler which requires a decompiler frontend to recover the correct source structure from arbitrary bytecode. Instead, we have devised a new and effective algorithm for decompilation, with emphasis on properly recovering control structures. The key idea is to base the algorithm around the dominator tree of the control flow graph of a method. This is based on the observation that, for a properly-nested block-structured language, each part of program representing a control structure corresponds to just a single subtree in the dominator tree. As such, the algorithm is general enough to be applied to other languages besides Java. The evaluation of our preliminary implementation in OpenJIT shows that our algorithm properly recovers control structures where other existing decompilers fail, and with relatively equivalent execution speeds.
書誌レコードID
収録物識別子タイプ NCID
収録物識別子 AA11464814
書誌情報 情報処理学会論文誌プログラミング(PRO)

巻 40, 号 SIG10(PRO5), p. 39-50, 発行日 1999-12-15
ISSN
収録物識別子タイプ ISSN
収録物識別子 1882-7802
出版者
言語 ja
出版者 情報処理学会
戻る
0
views
See details
Views

Versions

Ver.1 2025-01-22 23:35:31.063219
Show All versions

Share

Mendeley Twitter Facebook Print Addthis

Cite as

エクスポート

OAI-PMH
  • OAI-PMH JPCOAR
  • OAI-PMH DublinCore
  • OAI-PMH DDI
Other Formats
  • JSON
  • BIBTEX

Confirm


Powered by WEKO3


Powered by WEKO3