論文の概要: Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement
- arxiv url: http://arxiv.org/abs/2406.17233v2
- Date: Thu, 03 Oct 2024 08:43:25 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-04 17:53:16.321151
- Title: Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement
- Title(参考訳): 有限粒度アライメント強化による自己構築型コンテキストデコンパイル
- Authors: Yunlong Feng, Dechuan Teng, Yang Xu, Honglin Mu, Xiao Xu, Libo Qin, Qingfu Zhu, Wanxiang Che,
- Abstract要約: 逆コンパイルは、ソースコードが利用できない場合、コンパイルされたコードをハイレベルなプログラミング言語に変換する。
これまでの研究は主に、モデルパラメータのスケールや事前トレーニングのためのトレーニングデータを増やすことで、デコンパイル性能の向上に重点を置いてきた。
これら2つの手法を統合することで、Decompile-Evalベンチマークで約3.90%の再実行可能性向上を実現し、新しい最先端性能52.41%を確立した。
- 参考スコア(独自算出の注目度): 43.2637367483626
- License:
- Abstract: Decompilation transforms compiled code back into a high-level programming language for analysis when source code is unavailable. Previous work has primarily focused on enhancing decompilation performance by increasing the scale of model parameters or training data for pre-training. Based on the characteristics of the decompilation task, we propose two methods: (1) Without fine-tuning, the Self-Constructed Context Decompilation (sc$^2$dec) method recompiles the LLM's decompilation results to construct pairs for in-context learning, helping the model improve decompilation performance. (2) Fine-grained Alignment Enhancement (FAE), which meticulously aligns assembly code with source code at the statement level by leveraging debugging information, is employed during the fine-tuning phase to achieve further improvements in decompilation. By integrating these two methods, we achieved a Re-Executability performance improvement of approximately 3.90% on the Decompile-Eval benchmark, establishing a new state-of-the-art performance of 52.41%. The code, data, and models are available at https://github.com/AlongWY/sccdec.
- Abstract(参考訳): 逆コンパイルはコンパイル済みのコードを高レベルなプログラミング言語に変換し、ソースコードが利用できない時に解析する。
これまでの研究は主に、モデルパラメータのスケールや事前トレーニングのためのトレーニングデータを増やすことで、デコンパイル性能の向上に重点を置いてきた。
1)微調整なしでは、自己構築されたコンテキストデコンパイル(sc$^2$dec)メソッドがLLMのデコンパイル結果を再コンパイルし、文脈内学習のためのペアを構築することにより、モデルがデコンパイル性能を向上させる。
2)デバッギング情報を活用することで,アセンブリコードを文レベルで慎重にソースコードに整合させる微粒化アライメント向上(FAE)を微粒化段階に導入し,デバッギングのさらなる改善を実現する。
これら2つの手法を統合することで、Decompile-Evalベンチマークで約3.90%の再実行可能性向上を実現し、新しい最先端性能52.41%を確立した。
コード、データ、モデルはhttps://github.com/AlongWY/sccdec.comで入手できる。
関連論文リスト
- CompilerDream: Learning a Compiler World Model for General Code Optimization [58.87557583347996]
汎用コード最適化のためのモデルベース強化学習手法であるCompilerDreamを紹介する。
最適化パスの固有の特性を正確にシミュレートするコンパイラの世界モデルと、このモデルで訓練されたエージェントから、効率的な最適化戦略を生成する。
さまざまなデータセットを網羅し、LLVMのビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越している。
論文 参考訳(メタデータ) (2024-04-24T09:20:33Z) - LLM4Decompile: Decompiling Binary Code with Large Language Models [10.346311290153398]
Decompilationはバイナリコードを高レベルのソースコードに変換することを目的としているが、Ghidraのような従来のツールでは読み書きが難しい場合が多い。
LLM4Decompileは,バイナリコードのデコンパイルを訓練した最初の,かつ最大のオープンソースLLMシリーズ(1.3Bから33B)である。
結果、GPT-4oとGhidraをHumanEvalとExeBenchのベンチマークで100%以上上回った。
論文 参考訳(メタデータ) (2024-03-08T13:10:59Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - LLM-Assisted Code Cleaning For Training Accurate Code Generators [53.087019724256606]
コードの品質を調査した結果,より構造化され,読みやすくなれば,コード生成性能が向上することがわかった。
私たちは、これらの原則を使って既存のプログラムを変換する、新しいデータクリーニングパイプラインを構築します。
提案手法を2つのアルゴリズムコード生成ベンチマークで評価した結果,微調整のCodeLLaMa-7Bでは,元のデータセットの微調整に比べて最大30%性能が向上していることがわかった。
論文 参考訳(メタデータ) (2023-11-25T02:45:50Z) - Large Language Models for Compiler Optimization [22.52765975286403]
コードサイズに対してLLVMアセンブリを最適化するために,スクラッチからトレーニングしたトランスフォーマーモデルを提案する。
最適化前後の命令数と最適化コード自体を予測する。
提案手法は,コンパイラよりも命令数の削減が3.0%向上する。
論文 参考訳(メタデータ) (2023-09-11T22:11:46Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - Extending Source Code Pre-Trained Language Models to Summarise
Decompiled Binaries [4.0484792045035505]
ソースコードの事前訓練済み言語モデルを拡張して、逆コンパイルされたバイナリ関数を要約する。
このようなモデルの性能に及ぼす入力特性とデータ特性の影響について検討する。
BinT5は最先端のBLEU-4スコアを60.83、58.82、44.21で達成し、ソースを要約し、逆コンパイルし、合成的に削除した。
論文 参考訳(メタデータ) (2023-01-04T16:56:33Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - Static Neural Compiler Optimization via Deep Reinforcement Learning [1.458855293397494]
本稿では,位相整合問題に対する深層強化学習手法を用いる。
LLVMのO3シークエンスを構成するサブシーケンスを用いて、エージェントはトレーニングに使用するソースコードのセット上でO3シークエンスより優れていることを学習する。
我々は、我々のアプローチを用いて訓練されたモデルは、ニューラル最適化エージェントとして現代のコンパイラに統合できると考えている。
論文 参考訳(メタデータ) (2020-08-20T13:16:29Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。