論文の概要: Variable Name Recovery in Decompiled Binary Code using Constrained
Masked Language Modeling
- arxiv url: http://arxiv.org/abs/2103.12801v1
- Date: Tue, 23 Mar 2021 19:09:22 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-25 14:10:45.478593
- Title: Variable Name Recovery in Decompiled Binary Code using Constrained
Masked Language Modeling
- Title(参考訳): 制約付きマスク言語モデリングを用いたデコンパイルバイナリコードの変数名復元
- Authors: Pratyay Banerjee, Kuntal Kumar Pal, Fish Wang, Chitta Baral
- Abstract要約: 逆コンパイル(英: Decompilation)とは、バイナリプログラムをソースコードなどのハイレベルな表現に変換する手順である。
マスク型言語モデリング(byte-pair)に基づく逆コンパイルコードの変数名を推論する新しい手法を提案する。
トレーニングを受けたVarBERTモデルは、元のソースコードに存在する変数名と同じ変数名を最大84.15%まで予測できることを示しています。
- 参考スコア(独自算出の注目度): 17.377157455292817
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Decompilation is the procedure of transforming binary programs into a
high-level representation, such as source code, for human analysts to examine.
While modern decompilers can reconstruct and recover much information that is
discarded during compilation, inferring variable names is still extremely
difficult. Inspired by recent advances in natural language processing, we
propose a novel solution to infer variable names in decompiled code based on
Masked Language Modeling, Byte-Pair Encoding, and neural architectures such as
Transformers and BERT. Our solution takes \textit{raw} decompiler output, the
less semantically meaningful code, as input, and enriches it using our proposed
\textit{finetuning} technique, Constrained Masked Language Modeling. Using
Constrained Masked Language Modeling introduces the challenge of predicting the
number of masked tokens for the original variable name. We address this
\textit{count of token prediction} challenge with our post-processing
algorithm. Compared to the state-of-the-art approaches, our trained VarBERT
model is simpler and of much better performance. We evaluated our model on an
existing large-scale data set with 164,632 binaries and showed that it can
predict variable names identical to the ones present in the original source
code up to 84.15\% of the time.
- Abstract(参考訳): 逆コンパイル(英: Decompilation)とは、バイナリプログラムをソースコードなどのハイレベルな表現に変換する手順である。
現代の逆コンパイラは、コンパイル中に破棄される多くの情報を再構築し、復元することができるが、変数名の推論は依然として極めて困難である。
近年の自然言語処理の進歩に触発されて,Masked Language Modeling,Byte-Pair Encoding, Transformers, BERTなどのニューラルアーキテクチャに基づく,非コンパイルコードの変数名を推論する新しい手法を提案する。
提案手法は,提案手法である制約付きマスケッド言語モデリング(Constrained Masked Language Modeling)を用いて,意味論的に意味のある少ないコードをインプットとして利用する。
制約付きマスク言語モデリングを使用すると、元の変数名のマスクトークン数を予測するという課題が発生する。
この \textit{count of token prediction} 課題を処理後アルゴリズムで解決します。
最先端のアプローチと比較して、トレーニング済みのVarBERTモデルはよりシンプルで、はるかに優れたパフォーマンスを実現しています。
164,632のバイナリを持つ既存の大規模データセット上でモデルを評価し,84.15\%までの確率で元のソースコードに存在する変数名と同一の変数名を予測できることを示した。
関連論文リスト
- STRIDE: Simple Type Recognition In Decompiled Executables [16.767295743254458]
そこで本研究では,デコンパイラトークンのシーケンスをトレーニングデータと一致させることで,変数名や型を予測する手法STRIDEを提案する。
3つのベンチマークデータセットで評価した結果、STRIDEは可変リタイピングとリネームの両方において、最先端の機械学習モデルに匹敵するパフォーマンスを実現していることがわかった。
論文 参考訳(メタデータ) (2024-07-03T01:09:41Z) - Calibration & Reconstruction: Deep Integrated Language for Referring Image Segmentation [8.225408779913712]
画像セグメンテーションの参照は、画像から自然言語表現によって参照されるオブジェクトをセグメンテーションすることを目的としている。
従来のトランスフォーマーデコーダは、より深い層で言語情報を歪め、最適な結果をもたらす。
本稿では,変換器デコーダのマルチモーダル機能を反復的に校正するモデルであるCRFormerを紹介する。
論文 参考訳(メタデータ) (2024-04-12T07:13:32Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Revisiting Deep Learning for Variable Type Recovery [3.075963833361584]
DIRTYはトランスフォーマーベースのデコーダアーキテクチャで、変数名と型でデコンパイルされたコードを拡張することができる。
我々は、オープンソースのGhidraデコンパイラによって生成されたデータセット上で、DIRTYモデルを再学習することで、元のDIRTY結果を拡張する。
論文 参考訳(メタデータ) (2023-04-07T22:28:28Z) - Beyond the C: Retargetable Decompilation using Neural Machine
Translation [5.734661402742406]
我々は,新しい言語に容易に再ターゲティング可能なプロトタイプ・デコンパイラを開発した。
トークン化やトレーニングデータ選択などのパラメータが逆コンパイルの品質に与える影響について検討する。
トレーニングデータ、トレーニングされた逆コンパイルモデル、そして将来の言語に依存しない逆コンパイルの研究を促進するためのコードをリリースします。
論文 参考訳(メタデータ) (2022-12-17T20:45:59Z) - Sentence Bottleneck Autoencoders from Transformer Language Models [53.350633961266375]
我々は、事前訓練されたフリーズトランスフォーマー言語モデルから文レベルのオートエンコーダを構築する。
我々は、文ボトルネックと1層修飾トランスフォーマーデコーダのみを訓練しながら、マスク付き言語モデリングの目的を生成的・認知的言語として適応する。
本研究では,テキスト類似性タスク,スタイル転送,単一文分類タスクにおける事前学習されたトランスフォーマーからの表現をGLUEベンチマークで抽出する手法よりも,大規模な事前学習モデルよりも少ないパラメータを用いて,より高品質な文表現を実現することを示す。
論文 参考訳(メタデータ) (2021-08-31T19:39:55Z) - 2kenize: Tying Subword Sequences for Chinese Script Conversion [54.33749520569979]
本稿では,2つのスクリプト間のマッピングと変換をあいまいにできるモデルを提案する。
提案手法は,従来の漢字変換手法よりも精度が6ポイント向上した。
論文 参考訳(メタデータ) (2020-05-07T10:53:05Z) - Byte Pair Encoding is Suboptimal for Language Model Pretraining [49.30780227162387]
一グラムLMトークン化とバイトペア符号化(BPE)の違いを分析する。
その結果,一グラムのLMトークン化手法は,下流タスクと2つの言語でBPEと一致し,BPEより優れることがわかった。
我々は、将来の事前訓練されたLMの開発者が、より一般的なBPEよりもユニグラムのLMメソッドを採用することを期待する。
論文 参考訳(メタデータ) (2020-04-07T21:21:06Z) - UniLMv2: Pseudo-Masked Language Models for Unified Language Model
Pre-Training [152.63467944568094]
本稿では,自動エンコーディングと部分的自己回帰型言語モデリングタスクの両方に対して,統一言語モデルを事前学習することを提案する。
実験の結果,PMLMを用いて事前学習した統一言語モデルは,多種多様な自然言語理解・生成タスクにおいて,新たな最先端の成果が得られることがわかった。
論文 参考訳(メタデータ) (2020-02-28T15:28:49Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。