論文の概要: Beyond the C: Retargetable Decompilation using Neural Machine
Translation
- arxiv url: http://arxiv.org/abs/2212.08950v1
- Date: Sat, 17 Dec 2022 20:45:59 GMT
- ステータス: 処理完了
- システム内更新日: 2022-12-20 18:25:28.717112
- Title: Beyond the C: Retargetable Decompilation using Neural Machine
Translation
- Title(参考訳): ニューラルネットワーク翻訳による再ターゲット型デコンパイル
- Authors: Iman Hosseini, Brendan Dolan-Gavitt
- Abstract要約: 我々は,新しい言語に容易に再ターゲティング可能なプロトタイプ・デコンパイラを開発した。
トークン化やトレーニングデータ選択などのパラメータが逆コンパイルの品質に与える影響について検討する。
トレーニングデータ、トレーニングされた逆コンパイルモデル、そして将来の言語に依存しない逆コンパイルの研究を促進するためのコードをリリースします。
- 参考スコア(独自算出の注目度): 5.734661402742406
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: The problem of reversing the compilation process, decompilation, is an
important tool in reverse engineering of computer software. Recently,
researchers have proposed using techniques from neural machine translation to
automate the process in decompilation. Although such techniques hold the
promise of targeting a wider range of source and assembly languages, to date
they have primarily targeted C code. In this paper we argue that existing
neural decompilers have achieved higher accuracy at the cost of requiring
language-specific domain knowledge such as tokenizers and parsers to build an
abstract syntax tree (AST) for the source language, which increases the
overhead of supporting new languages. We explore a different tradeoff that, to
the extent possible, treats the assembly and source languages as plain text,
and show that this allows us to build a decompiler that is easily retargetable
to new languages. We evaluate our prototype decompiler, Beyond The C (BTC), on
Go, Fortran, OCaml, and C, and examine the impact of parameters such as
tokenization and training data selection on the quality of decompilation,
finding that it achieves comparable decompilation results to prior work in
neural decompilation with significantly less domain knowledge. We will release
our training data, trained decompilation models, and code to help encourage
future research into language-agnostic decompilation.
- Abstract(参考訳): コンパイルプロセスの反転という問題は、コンピュータソフトウェアのリバースエンジニアリングにおいて重要なツールである。
近年,神経機械翻訳による非コンパイル処理の自動化手法が提案されている。
このようなテクニックは、幅広いソースおよびアセンブリ言語をターゲットにする約束を持っているが、これまでは主にCコードをターゲットにしてきた。
本稿では,既存のニューラルデコンパイラは,ソースコードの抽象構文木(AST)を構築するために,トークン化やパーザなどの言語固有のドメイン知識を必要とするコストで高い精度を実現し,新しい言語のサポートのオーバーヘッドを増大させていることを論じる。
我々は、可能な限り、アセンブリとソース言語をプレーンテキストとして扱い、新しい言語に容易に再ターゲティング可能なデコンパイラを構築することができることを示す、異なるトレードオフを探究する。
我々は、c(btc)を超えて、go、fortran、ocaml、c上でのプロトタイプの逆コンパイラを評価し、トークン化やトレーニングデータ選択といったパラメータが逆コンパイルの品質に与える影響を調べ、ドメイン知識が大幅に少ないニューラルネットワークの逆コンパイルにおいて、同等の逆コンパイル結果が得られることを発見した。
トレーニングデータ、トレーニングされた逆コンパイルモデル、そして将来の言語に依存しない逆コンパイルの研究を促進するコードをリリースします。
関連論文リスト
- Training Neural Networks as Recognizers of Formal Languages [87.06906286950438]
形式言語理論は、特に認識者に関するものである。
代わりに、非公式な意味でのみ類似したプロキシタスクを使用するのが一般的である。
ニューラルネットワークを文字列のバイナリ分類器として直接訓練し評価することで、このミスマッチを補正する。
論文 参考訳(メタデータ) (2024-11-11T16:33:25Z) - Leveraging Large Language Models for Code Translation and Software Development in Scientific Computing [0.9668407688201359]
生成人工知能(GenAI)は、科学計算における生産性を変革する。
我々は、コード変換の効率的なプロセスを確立するために、プロンプトエンジニアリングとユーザ管理を組み合わせたCodeScribeというツールを開発した。
AIによるコード翻訳の課題にも対処し、科学計算における生産性向上のメリットを強調します。
論文 参考訳(メタデータ) (2024-10-31T16:48:41Z) - AdaCCD: Adaptive Semantic Contrasts Discovery Based Cross Lingual
Adaptation for Code Clone Detection [69.79627042058048]
AdaCCDは、その言語でアノテーションを使わずに、新しい言語のクローンコードを検出する新しい言語間適応手法である。
5つのプログラミング言語からなる多言語コードクローン検出ベンチマークを構築し,AdaCCDの言語間適応性を評価する。
論文 参考訳(メタデータ) (2023-11-13T12:20:48Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Boosting Neural Networks to Decompile Optimized Binaries [13.255618541522436]
Decompilation は低レベルプログラム言語 (LPL) を機能的に等価な高レベルプログラム言語 (HPL) に変換することを目的としている。
本稿では,コンパイラ最適化バイナリをターゲットとしたNeurDPという新しい学習手法を提案する。
論文 参考訳(メタデータ) (2023-01-03T06:45:54Z) - Learning C to x86 Translation: An Experiment in Neural Compilation [3.997680012976965]
コードからコードへのニューラルモデルは、コード翻訳、コード修正、逆コンパイルに使われている。
本研究では、Cコードからx86アセンブラを生成する方法を学ぶために、ニューラルネットワークのコンパイル、構築、評価を行う。
論文 参考訳(メタデータ) (2021-08-17T14:11:15Z) - Zero-Shot Cross-lingual Semantic Parsing [56.95036511882921]
7つのテスト言語に対する並列データを持たないゼロショット問題として,言語間セマンティックパーシングについて検討した。
英文論理形式ペアデータのみを用いて解析知識を付加言語に転送するマルチタスクエンコーダデコーダモデルを提案する。
このシステムは、ゼロショット解析を潜時空間アライメント問題としてフレーム化し、事前訓練されたモデルを改善し、最小のクロスリンガル転送ペナルティで論理形式を生成することができる。
論文 参考訳(メタデータ) (2021-04-15T16:08:43Z) - Exploring Software Naturalness through Neural Language Models [56.1315223210742]
ソフトウェア自然性仮説(Software Naturalness hypothesis)は、自然言語処理で使用されるのと同じ手法でプログラミング言語を理解することができると主張している。
この仮説は,事前学習されたトランスフォーマーベース言語モデルを用いて,コード解析タスクを実行することによって検討する。
論文 参考訳(メタデータ) (2020-06-22T21:56:14Z) - Unsupervised Translation of Programming Languages [19.56070393390029]
ソース・トゥ・ソース(source-to-source)またはトランスコンパイラ(transcompiler)は、ソースコードをハイレベルなプログラミング言語から別のプログラミング言語に変換するシステムである。
私たちは、オープンソースのGitHubプロジェクトからソースコードでモデルをトレーニングし、C++、Java、Python間の関数を高い精度で翻訳できることを示しています。
論文 参考訳(メタデータ) (2020-06-05T15:28:01Z) - SCELMo: Source Code Embeddings from Language Models [33.673421734844474]
本稿では,言語モデルに基づくコンピュータ・プログラムにおける文脈表現の深層化について紹介する。
比較的小さなプログラムのコーパスで訓練された低次元埋め込みでさえ、バグ検出のための最先端の機械学習システムを改善することができることを示す。
論文 参考訳(メタデータ) (2020-04-28T00:06:25Z) - Bi-Decoder Augmented Network for Neural Machine Translation [108.3931242633331]
本稿では,ニューラルマシン翻訳タスクのためのBi-Decoder Augmented Network (BiDAN)を提案する。
各デコーダは入力されたテキストの表現を対応する言語に変換するため、2つの目的語と共同でトレーニングすることで、共有エンコーダは言語に依存しない意味空間を生成することができる。
論文 参考訳(メタデータ) (2020-01-14T02:05:14Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。