論文の概要: ViC: Virtual Compiler Is All You Need For Assembly Code Search
- arxiv url: http://arxiv.org/abs/2408.06385v1
- Date: Sat, 10 Aug 2024 17:23:02 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-14 19:48:49.043245
- Title: ViC: Virtual Compiler Is All You Need For Assembly Code Search
- Title(参考訳): ViC:Virtual Compilerは、アセンブリーコード検索に必要なもの
- Authors: Zeyu Gao, Hao Wang, Yuanda Wang, Chao Zhang,
- Abstract要約: 本稿では,汎用コンパイラをエミュレートするLarge Language Model(LLM)のトレーニングについて検討する。
さらに、任意の言語のソースコードをアセンブリコードにコンパイルできる仮想コンパイラ(ViC)としてCodeLlamaを事前訓練します。
組立コード検索性能は大幅に向上し,ベースラインを26%上回った。
- 参考スコア(独自算出の注目度): 9.674880905252628
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Assembly code search is vital for reducing the burden on reverse engineers, allowing them to quickly identify specific functions using natural language within vast binary programs. Despite its significance, this critical task is impeded by the complexities involved in building high-quality datasets. This paper explores training a Large Language Model (LLM) to emulate a general compiler. By leveraging Ubuntu packages to compile a dataset of 20 billion tokens, we further continue pre-train CodeLlama as a Virtual Compiler (ViC), capable of compiling any source code of any language to assembly code. This approach allows for virtual compilation across a wide range of programming languages without the need for a real compiler, preserving semantic equivalency and expanding the possibilities for assembly code dataset construction. Furthermore, we use ViC to construct a sufficiently large dataset for assembly code search. Employing this extensive dataset, we achieve a substantial improvement in assembly code search performance, with our model surpassing the leading baseline by 26%.
- Abstract(参考訳): アセンブリコード検索は、リバースエンジニアの負担を軽減するために不可欠である。
その重要性にもかかわらず、この重要なタスクは、高品質なデータセットの構築に関わる複雑さによって妨げられている。
本稿では,汎用コンパイラをエミュレートするLarge Language Model(LLM)のトレーニングについて検討する。
Ubuntuパッケージを活用して200億のトークンのデータセットをコンパイルすることで、任意の言語のソースコードをアセンブリコードにコンパイル可能な、Virtual Compiler(ViC)としてのCodeLlamaの事前トレーニングをさらに継続します。
このアプローチにより、実際のコンパイラを必要とせずに、さまざまなプログラミング言語で仮想コンパイルが可能となり、セマンティックな等価性を保ち、アセンブリコードデータセット構築の可能性を広げることができます。
さらに,ViCを用いて,アセンブリコード検索のための十分な大規模なデータセットを構築する。
この広範なデータセットを利用することで、アセンブリコード検索のパフォーマンスが大幅に向上し、私たちのモデルはベースラインを26%上回っています。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - Meta Large Language Model Compiler: Foundation Models of Compiler Optimization [21.161784011956126]
大規模言語モデル(LLM)は、様々なソフトウェア工学やコーディングタスクにまたがる顕著な機能を示している。
しかしながら、コード領域におけるそれらのアプリケーションとコンパイラの最適化については、まだ未検討である。
Meta Large Language Model Compiler (LLM Compiler)は、コード最適化タスクのための、堅牢で、オープンに利用可能な、事前訓練されたモデルのスイートである。
論文 参考訳(メタデータ) (2024-06-27T21:47:48Z) - IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generators [49.903001442804594]
本研究では、コンパイラ中間表現(IR)を活用して、Code-LMの多言語機能を改善する可能性について検討する。
まず,約400万のソースコードファイルからなる並列データセットであるSLTransをコンパイルする。
次に、SLTransにおける因果言語モデリングトレーニングを継続して実施し、Code-LMはIR言語を学習せざるを得なかった。
IRCoderと呼ばれる結果のモデルは、さまざまなコード生成タスクやメトリクスに対して、サイズと一貫性のあるゲインを表示します。
論文 参考訳(メタデータ) (2024-03-06T17:52:08Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - COMEX: A Tool for Generating Customized Source Code Representations [7.151800146054561]
COMEXは、研究者と開発者が複数のコードビューを作成し、組み合わせることを可能にするフレームワークである。
プロシージャ内スニペットとプロシージャ間スニペットの両方を使用して、メソッドレベルのスニペットとプログラムレベルのスニペットの両方を分析することができる。
これは40以上の言語をサポートする、広く使われているインクリメンタル分析ツールであるtree-sitter上に構築されている。
論文 参考訳(メタデータ) (2023-07-10T16:46:34Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - 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) - Compilable Neural Code Generation with Compiler Feedback [43.97362484564799]
本稿では、言語モデルの微調整、コンパイル可能性強化、コンパイル可能性判定を含む、コンパイル可能なコード生成のための3段階パイプラインを提案する。
2つのコード生成タスクの実験は,提案手法の有効性を示し,平均44.18から89.18に,テキスト・コード生成では70.3から96.2に向上した。
論文 参考訳(メタデータ) (2022-03-10T03:15:17Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。