論文の概要: Pre-Training Representations of Binary Code Using Contrastive Learning
- arxiv url: http://arxiv.org/abs/2210.05102v2
- Date: Wed, 30 Aug 2023 21:58:45 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-01 21:19:10.818487
- Title: Pre-Training Representations of Binary Code Using Contrastive Learning
- Title(参考訳): コントラスト学習を用いたバイナリコードの事前学習表現
- Authors: Yifan Zhang, Chen Huang, Yueke Zhang, Kevin Cao, Scott Thomas
Andersen, Huajie Shao, Kevin Leach, Yu Huang
- Abstract要約: 本稿では、表現学習中にソースコードとコメント情報をバイナリコードに組み込む、バイナリcOde分析のためのContrastive Learning Model(COMBO)を提案する。
COMBOは、ソースコード、バイナリコード、コメントをコントラストコード表現学習に組み込んだ最初の言語表現モデルである。
- 参考スコア(独自算出の注目度): 14.1548548120994
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Compiled software is delivered as executable binary code. Developers write
source code to express the software semantics, but the compiler converts it to
a binary format that the CPU can directly execute. Therefore, binary code
analysis is critical to applications in reverse engineering and computer
security tasks where source code is not available. However, unlike source code
and natural language that contain rich semantic information, binary code is
typically difficult for human engineers to understand and analyze. While
existing work uses AI models to assist source code analysis, few studies have
considered binary code. In this paper, we propose a COntrastive learning Model
for Binary cOde Analysis, or COMBO, that incorporates source code and comment
information into binary code during representation learning. Specifically, we
present three components in COMBO: (1) a primary contrastive learning method
for cold-start pre-training, (2) a simplex interpolation method to incorporate
source code, comments, and binary code, and (3) an intermediate representation
learning algorithm to provide binary code embeddings. Finally, we evaluate the
effectiveness of the pre-trained representations produced by COMBO using three
indicative downstream tasks relating to binary code: algorithmic functionality
classification, binary code similarity, and vulnerability detection. Our
experimental results show that COMBO facilitates representation learning of
binary code visualized by distribution analysis, and improves the performance
on all three downstream tasks by 5.45% on average compared to state-of-the-art
large-scale language representation models. To the best of our knowledge, COMBO
is the first language representation model that incorporates source code,
binary code, and comments into contrastive code representation learning and
unifies multiple tasks for binary code analysis.
- Abstract(参考訳): コンパイルされたソフトウェアは実行可能なバイナリコードとして配信される。
開発者はソフトウェアセマンティクスを表現するためにソースコードを書くが、コンパイラはそれをCPUが直接実行できるバイナリフォーマットに変換する。
したがって、ソースコードが利用できないリバースエンジニアリングやコンピュータセキュリティタスクのアプリケーションではバイナリコード解析が重要である。
しかし、豊富な意味情報を含むソースコードや自然言語とは異なり、バイナリコードは人間のエンジニアが理解し分析するのが難しい。
既存の研究はソースコード解析にAIモデルを使用しているが、バイナリコードを検討する研究はほとんどない。
本稿では、表現学習中にソースコードとコメント情報をバイナリコードに組み込んだ、バイナリcOde分析のためのContrastive Learning Model(COMBO)を提案する。
具体的には,(1)コールドスタート事前学習のための主要なコントラスト学習手法,(2)ソースコード,コメント,バイナリコードを組み込む単純な補間法,(3)バイナリコード埋め込みを提供する中間表現学習アルゴリズム,の3つのコンポーネントをCOMBOに提示する。
最後に,アルゴリズム機能分類,バイナリコード類似性,脆弱性検出の3つの指標ダウンストリームタスクを用いて,comboが生成した事前学習表現の有効性を評価する。
実験結果から,コンボは分散分析により可視化されたバイナリコードの表現学習を容易とし,最先端の大規模言語表現モデルと比較して,下流3つのタスク全体のパフォーマンスを平均5.45%向上させた。
我々の知る限り、COMBOはソースコード、バイナリコード、コメントを対照的なコード表現学習に組み込んだ最初の言語表現モデルであり、バイナリコード解析のために複数のタスクを統合する。
関連論文リスト
- How Far Have We Gone in Stripped Binary Code Understanding Using Large Language Models [51.527805834378974]
バイナリコード理解におけるLarge Language Models(LLM)の有効性を評価するためのベンチマークを提案する。
評価の結果、既存のLLMはバイナリコードをある程度理解でき、それによってバイナリコード解析の効率が向上することが明らかとなった。
論文 参考訳(メタデータ) (2024-04-15T14:44:08Z) - CLAP: Learning Transferable Binary Code Representations with Natural
Language Supervision [22.42846252594693]
本稿では,言語指導を利用してバイナリコードのより良い表現を学習するCLAP(Contrastive Language-Assembly Pre-training)を提案する。
中心となるアプローチは、バイナリコードとセマンティックスの説明を効果的に整合させることで、優れたトランスファー学習能力を向上する。
私たちは1億9500万のバイナリコードと説明を生成し、CLAPのプロトタイプをトレーニングしました。
論文 参考訳(メタデータ) (2024-02-26T13:49:52Z) - CP-BCS: Binary Code Summarization Guided by Control Flow Graph and
Pseudo Code [79.87518649544405]
本稿ではCP-BCSと呼ばれる制御フローグラフと擬似コード案内バイナリコード要約フレームワークを提案する。
CP-BCSは双方向の命令レベル制御フローグラフと擬似コードを利用して、専門家の知識を取り入れ、包括的なバイナリ関数の実行動作と論理意味論を学ぶ。
論文 参考訳(メタデータ) (2023-10-24T14:20:39Z) - Leveraging Artificial Intelligence on Binary Code Comprehension [5.236023714727536]
本稿では,バイナリコードの人間の理解を支援する人工知能(AI)モデルを提案する。
具体的には、ソースコードの大規模なコーパス(変数名やコメントなど)からドメイン知識を取り入れて、バイナリコードの一般化可能な表現をキャプチャするAIモデルを構築することを提案する。
最後に、人間による理解の研究を用いて、バイナリコードに適用するモデルの性能を評価するためのメトリクスについて検討する。
論文 参考訳(メタデータ) (2022-10-11T02:39:29Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - CodeRetriever: Unimodal and Bimodal Contrastive Learning [128.06072658302165]
関数レベルのコードセマンティック表現を訓練するために,一様および二様のコントラスト学習を組み合わせたCodeRetrieverモデルを提案する。
ノンモーダルなコントラスト学習のために、文書と関数名に基づいてポジティブなコードペアを構築するためのセマンティックガイド付き手法を設計する。
バイモーダルなコントラスト学習では、コードのドキュメンテーションとインラインコメントを活用して、テキストコードペアを構築します。
論文 参考訳(メタデータ) (2022-01-26T10:54:30Z) - Semantic-aware Binary Code Representation with BERT [27.908093567605484]
バグ発見、マルウェア分析、コードクローン検出など、幅広いバイナリ分析アプリケーションでは、バイナリコード上でのコンテキスト意味の回復が必要である。
近年,バイナリのコード表現を自動再構築するために,機械学習に基づくバイナリ解析手法が提案されている。
本稿では,バイナリコードのセマンティックなコード表現を生成するためにBERTを利用するDeepSemanticを提案する。
論文 参考訳(メタデータ) (2021-06-10T03:31:29Z) - LLC: Accurate, Multi-purpose Learnt Low-dimensional Binary Codes [55.32790803903619]
本稿では,クラスだけでなくインスタンスの低次元バイナリコード(LLC)を学習するための新しい手法を提案する。
アノテーション付き属性やラベルメタデータなど,副作用は一切不要です。
学習したコードは、クラスに対して直感的な分類法を発見することによって、データの中で本質的に重要な特徴をキャプチャすることを示した。
論文 参考訳(メタデータ) (2021-06-02T21:57:52Z) - Auto-Encoding Twin-Bottleneck Hashing [141.5378966676885]
本稿では,効率よく適応的なコード駆動グラフを提案する。
自動エンコーダのコンテキストでデコードすることで更新される。
ベンチマークデータセットの実験は、最先端のハッシュ手法よりもフレームワークの方が優れていることを明らかに示しています。
論文 参考訳(メタデータ) (2020-02-27T05:58:12Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。