論文の概要: LLM4Decompile: Decompiling Binary Code with Large Language Models
- arxiv url: http://arxiv.org/abs/2403.05286v1
- Date: Fri, 8 Mar 2024 13:10:59 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-11 19:37:24.473953
- Title: LLM4Decompile: Decompiling Binary Code with Large Language Models
- Title(参考訳): LLM4Decompile: 大きな言語モデルでバイナリコードを分解する
- Authors: Hanzhuo Tan, Qi Luo, Jing Li, Yuqun Zhang
- Abstract要約: Decompilationは、コンパイルされたコードを可読性のあるソースコードに復元することを目的としている。
大規模言語モデル(LLM)は、プログラムタスクの約束を示し、そのアプリケーションを非コンパイルに動機付ける。
C ソースコードの40億個のトークンと対応するアセンブリコードで事前訓練された 1B から 33B までの,最初のオープンアクセス逆コンパイル LLM をリリースする。
- 参考スコア(独自算出の注目度): 11.302601810557315
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Decompilation aims to restore compiled code to human-readable source code,
but struggles with details like names and structure. Large language models
(LLMs) show promise for programming tasks, motivating their application to
decompilation. However, there does not exist any open-source LLM for
decompilation. Moreover, existing decompilation evaluation systems mainly
consider token-level accuracy and largely ignore code executability, which is
the most important feature of any program. Therefore, we release the first
open-access decompilation LLMs ranging from 1B to 33B pre-trained on 4 billion
tokens of C source code and the corresponding assembly code. The open-source
LLMs can serve as baselines for further development in the field. To ensure
practical program evaluation, we introduce Decompile-Eval, the first dataset
that considers re-compilability and re-executability for decompilation. The
benchmark emphasizes the importance of evaluating the decompilation model from
the perspective of program semantics. Experiments indicate that our
LLM4Decompile has demonstrated the capability to accurately decompile 21% of
the assembly code, which achieves a 50% improvement over GPT-4. Our code,
dataset, and models are released at
https://github.com/albertan017/LLM4Decompile
- Abstract(参考訳): Decompilationは、コンパイルされたコードを可読性のあるソースコードに復元することを目的としている。
大規模言語モデル(LLM)は、プログラムタスクの約束を示し、そのアプリケーションを非コンパイルに動機付ける。
しかし、逆コンパイルのためのオープンソースの LLM は存在しない。
さらに、既存の非コンパイル評価システムは主にトークンレベルの精度を考慮しており、どのプログラムでも最も重要な機能であるコード実行可能性を無視している。
そこで我々は,C ソースコードと対応するアセンブリコードの40億個のトークンを事前訓練した 1B から 33B までの,最初のオープンアクセス逆コンパイル LLM をリリースする。
オープンソースのLLMは、この分野におけるさらなる開発のためのベースラインとして機能する。
実用的なプログラム評価を実現するために,再コンパイル性と再実行性を考慮した最初のデータセットであるDecompile-Evalを導入する。
このベンチマークは、プログラムの意味論の観点から逆コンパイルモデルを評価することの重要性を強調している。
LLM4Decompileは、アセンブリコードの21%を正確に分解できる能力を示しており、GPT-4よりも50%改善されている。
私たちのコード、データセット、モデルはhttps://github.com/albertan017/LLM4Decompileでリリースされます。
関連論文リスト
- DebugBench: Evaluating Debugging Capability of Large Language Models [89.13051256657995]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用モデルと3つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - ML-Bench: Large Language Models Leverage Open-source Libraries for
Machine Learning Tasks [75.12666425091702]
大規模な言語モデルは、コード生成ベンチマークで有望なパフォーマンスを示している。
この研究は、LLMがオープンソースのライブラリを使用して機械学習タスクを終了する、新たな評価設定を提案することを目的としている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Refining Decompiled C Code with Large Language Models [15.76430362775126]
Cデコンパイラは、実行可能ファイルをソースコードに変換する。
一度再コンパイルされたC言語のソースコードは、元の実行ファイルと同じ機能を持つ実行ファイルを生成することが期待されている。
論文 参考訳(メタデータ) (2023-10-10T11:22:30Z) - CodeApex: A Bilingual Programming Evaluation Benchmark for Large
Language Models [43.655927559990616]
我々は,LLMのプログラミング理解,コード生成,コード修正能力に着目したベンチマークデータセットであるCodeApexを提案する。
汎用モデルと特化モデルの両方を含む,広く使用されているLLMを12種類評価した。
GPT-4は最高のプログラミング能力を示し、それぞれ69%、54%、66%の精度を達成している。
論文 参考訳(メタデータ) (2023-09-05T04:12:01Z) - Private-Library-Oriented Code Generation with Large Language Models [52.73999698194344]
本稿では,大規模言語モデル(LLM)をプライベートライブラリのコード生成に活用することに焦点を当てる。
プログラマがプライベートコードを書く過程をエミュレートする新しいフレームワークを提案する。
TorchDataEval、TorchDataComplexEval、MonkeyEval、BeatNumEvalの4つのプライベートライブラリベンチマークを作成しました。
論文 参考訳(メタデータ) (2023-07-28T07:43:13Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - 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) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。