論文の概要: Extending Source Code Pre-Trained Language Models to Summarise
Decompiled Binaries
- arxiv url: http://arxiv.org/abs/2301.01701v1
- Date: Wed, 4 Jan 2023 16:56:33 GMT
- ステータス: 処理完了
- システム内更新日: 2023-01-05 15:23:35.475648
- Title: Extending Source Code Pre-Trained Language Models to Summarise
Decompiled Binaries
- Title(参考訳): ソースコード事前訓練言語モデルを拡張して非コンパイルバイナリを要約する
- Authors: Ali Al-Kaswan, Toufique Ahmed, Maliheh Izadi, Anand Ashok Sawant, Prem
Devanbu, Arie van Deursen
- Abstract要約: ソースコードの事前訓練済み言語モデルを拡張して、逆コンパイルされたバイナリ関数を要約する。
このようなモデルの性能に及ぼす入力特性とデータ特性の影響について検討する。
BinT5は最先端のBLEU-4スコアを60.83、58.82、44.21で達成し、ソースを要約し、逆コンパイルし、合成的に削除した。
- 参考スコア(独自算出の注目度): 4.0484792045035505
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Reverse engineering binaries is required to understand and analyse programs
for which the source code is unavailable. Decompilers can transform the largely
unreadable binaries into a more readable source code-like representation.
However, reverse engineering is time-consuming, much of which is taken up by
labelling the functions with semantic information.
While the automated summarisation of decompiled code can help Reverse
Engineers understand and analyse binaries, current work mainly focuses on
summarising source code, and no suitable dataset exists for this task.
In this work, we extend large pre-trained language models of source code to
summarise decompiled binary functions. Furthermore, we investigate the impact
of input and data properties on the performance of such models. Our approach
consists of two main components; the data and the model.
We first build CAPYBARA, a dataset of 214K decompiled function-documentation
pairs across various compiler optimisations. We extend CAPYBARA further by
generating synthetic datasets and deduplicating the data.
Next, we fine-tune the CodeT5 base model with CAPYBARA to create BinT5. BinT5
achieves the state-of-the-art BLEU-4 score of 60.83, 58.82, and 44.21 for
summarising source, decompiled, and synthetically stripped decompiled code,
respectively. This indicates that these models can be extended to decompiled
binaries successfully.
Finally, we found that the performance of BinT5 is not heavily dependent on
the dataset size and compiler optimisation level. We recommend future research
to further investigate transferring knowledge when working with less expressive
input formats such as stripped binaries.
- Abstract(参考訳): ソースコードが利用できないプログラムを理解し分析するには、リバースエンジニアリングバイナリが必要である。
逆コンパイラは読みにくいバイナリを、より読みやすいソースコードのような表現に変換することができる。
しかし、リバースエンジニアリングは時間がかかり、そのほとんどが意味情報で関数をラベル付けすることで取り上げられる。
非コンパイルコードの自動要約はリバースエンジニアがバイナリを理解し解析するのに役立つが、現在の作業は主にソースコードの要約に焦点を当てており、このタスクに適したデータセットは存在しない。
本研究では,ソースコードの事前学習型言語モデルを拡張し,デコンパイルされたバイナリ関数を要約する。
さらに,入力特性とデータ特性がモデルの性能に与える影響について検討する。
私たちのアプローチは、データとモデルという2つの主要コンポーネントで構成されています。
まず、CAPYBARAという、214Kの逆コンパイルされた関数文書ペアのデータセットを、様々なコンパイラ最適化で構築する。
我々はCAPYBARAをさらに拡張し、合成データセットを生成し、データを分離する。
次に、CodeT5ベースモデルをCAPYBARAで微調整してBinT5を作成します。
BinT5は最先端のBLEU-4スコアを60.83、58.82、44.21で達成し、ソース、逆コンパイル、および合成的に削除される。
これは、これらのモデルが逆コンパイルバイナリにうまく拡張できることを示している。
最後に、BinT5のパフォーマンスはデータセットのサイズとコンパイラの最適化レベルに大きく依存していないことがわかった。
我々は,より表現力の低いバイナリなどの入力形式を扱う場合の知識の伝達について,今後の研究を推奨する。
関連論文リスト
- LLM4Decompile: Decompiling Binary Code with Large Language Models [11.302601810557315]
Decompilationは、コンパイルされたコードを可読性のあるソースコードに復元することを目的としている。
大規模言語モデル(LLM)は、プログラムタスクの約束を示し、そのアプリケーションを非コンパイルに動機付ける。
C ソースコードの40億個のトークンと対応するアセンブリコードで事前訓練された 1B から 33B までの,最初のオープンアクセス逆コンパイル LLM をリリースする。
論文 参考訳(メタデータ) (2024-03-08T13:10:59Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - CodeTF: One-stop Transformer Library for State-of-the-art Code LLM [72.1638273937025]
我々は、最先端のCode LLMとコードインテリジェンスのためのオープンソースのTransformerベースのライブラリであるCodeTFを紹介する。
我々のライブラリは、事前訓練されたコードLLMモデルと人気のあるコードベンチマークのコレクションをサポートします。
CodeTFが機械学習/生成AIとソフトウェア工学のギャップを埋められることを願っている。
論文 参考訳(メタデータ) (2023-05-31T05:24:48Z) - Revisiting Deep Learning for Variable Type Recovery [3.075963833361584]
DIRTYはトランスフォーマーベースのデコーダアーキテクチャで、変数名と型でデコンパイルされたコードを拡張することができる。
我々は、オープンソースのGhidraデコンパイラによって生成されたデータセット上で、DIRTYモデルを再学習することで、元のDIRTY結果を拡張する。
論文 参考訳(メタデータ) (2023-04-07T22:28:28Z) - Boosting Neural Networks to Decompile Optimized Binaries [13.255618541522436]
Decompilation は低レベルプログラム言語 (LPL) を機能的に等価な高レベルプログラム言語 (HPL) に変換することを目的としている。
本稿では,コンパイラ最適化バイナリをターゲットとしたNeurDPという新しい学習手法を提案する。
論文 参考訳(メタデータ) (2023-01-03T06:45:54Z) - Pre-Training Representations of Binary Code Using Contrastive Learning [14.1548548120994]
本稿では、表現学習中にソースコードとコメント情報をバイナリコードに組み込む、バイナリcOde分析のためのContrastive Learning Model(COMBO)を提案する。
COMBOは、ソースコード、バイナリコード、コメントをコントラストコード表現学習に組み込んだ最初の言語表現モデルである。
論文 参考訳(メタデータ) (2022-10-11T02:39:06Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z) - A Transformer-based Approach for Source Code Summarization [86.08359401867577]
コードトークン間のペア関係をモデル化することにより,要約のためのコード表現を学習する。
アプローチは単純であるにもかかわらず、最先端技術よりもかなりの差があることが示される。
論文 参考訳(メタデータ) (2020-05-01T23:29:36Z) - Auto-Encoding Twin-Bottleneck Hashing [141.5378966676885]
本稿では,効率よく適応的なコード駆動グラフを提案する。
自動エンコーダのコンテキストでデコードすることで更新される。
ベンチマークデータセットの実験は、最先端のハッシュ手法よりもフレームワークの方が優れていることを明らかに示しています。
論文 参考訳(メタデータ) (2020-02-27T05:58:12Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。