論文の概要: 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のパフォーマンスはデータセットのサイズとコンパイラの最適化レベルに大きく依存していないことがわかった。
我々は,より表現力の低いバイナリなどの入力形式を扱う場合の知識の伝達について,今後の研究を推奨する。
関連論文リスト
- STRIDE: Simple Type Recognition In Decompiled Executables [16.767295743254458]
そこで本研究では,デコンパイラトークンのシーケンスをトレーニングデータと一致させることで,変数名や型を予測する手法STRIDEを提案する。
3つのベンチマークデータセットで評価した結果、STRIDEは可変リタイピングとリネームの両方において、最先端の機械学習モデルに匹敵するパフォーマンスを実現していることがわかった。
論文 参考訳(メタデータ) (2024-07-03T01:09:41Z) - How Far Have We Gone in Binary Code Understanding Using Large Language Models [51.527805834378974]
バイナリコード理解におけるLarge Language Models(LLM)の有効性を評価するためのベンチマークを提案する。
評価の結果、既存のLLMはバイナリコードをある程度理解でき、それによってバイナリコード解析の効率が向上することが明らかとなった。
論文 参考訳(メタデータ) (2024-04-15T14:44:08Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - 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 [13.570375923483452]
本稿では、表現学習中にソースコードとコメント情報をバイナリコードに組み込む、バイナリcOde分析のためのContrastive Learning Model(COMBO)を提案する。
COMBOは、ソースコード、バイナリコード、コメントをコントラストコード表現学習に組み込んだ最初の言語表現モデルである。
論文 参考訳(メタデータ) (2022-10-11T02:39:06Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。