Multi-modal Learning for WebAssembly Reverse Engineering
Not on the map. Why?
Abstract (arXiv)
The increasing adoption of WebAssembly (Wasm) for performance-critical and security-sensitive tasks drives the demand for WebAssembly program comprehension and reverse engineering. Recent studies have introduced machine learning (ML)-based WebAssembly reverse engineering tools. Yet, the generalization of task-specific ML solutions remains challenging, because their effectiveness hinges on the availability of an ample supply of high-quality task-specific labeled data. Moreover, previous works overlook the high-level semantics present in source code and its documentation. Acknowledging the abundance of available source code with documentation, which can be compiled into WebAssembly, we propose to learn representations of them concurrently and harness their mutual relationships for effective WebAssembly reverse engineering. In this paper, we present WasmRev, the first multi-modal pre-trained language model for WebAssembly reverse engineering. WasmRev is pre-trained using self-supervised learning on a large-scale multi-modal corpus encompassing source code, code documentation and the compiled WebAssembly, without requiring labeled data. WasmRev incorporates three tailored multi-modal pre-training tasks to capture various characteristics of WebAssembly and cross-modal relationships. WasmRev is only trained once to produce general-purpose representations that can broadly support WebAssembly reverse engineering tasks through few-shot fine-tuning with much less labeled data, improving data efficiency. We fine-tune WasmRev onto three important reverse engineering tasks: type recovery, function purpose identification and WebAssembly summarization. Our results show that WasmRev pre-trained on the corpus of multi-modal samples establishes a robust foundation for these tasks, achieving high task accuracy and outperforming the state-of-the-art ML methods for WebAssembly reverse engineering.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 31 of its 72 references that are in the map. First posted on arXiv 4 Apr 2024.
Builds on
31 of 72 references.
References · 31
- 2014Adam: A Method for Stochastic Optimizationcited by 37,240
- 2020A Simple Framework for Contrastive Learning of Visual Representationscited by 12,049
- 2019BERTScore: Evaluating Text Generation with BERTcited by 5,512
- 2019ALBERT: A Lite BERT for Self-supervised Learning of Language Representationscited by 2,790
- 2016Enriching Word Vectors with Subword Informationcited by 1,583
- 2016Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translationcited by 1,475
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,310
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 744
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 654
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 609
- 2018code2seq: Generating Sequences from Structured Representations of Codecited by 179
- 2020A Review of Generalized Zero-Shot Learning Methodscited by 159
19 more
- 2018The Adverse Effects of Code Duplication in Machine Learning Models of Codecited by 126
- 2018Improving Automatic Source Code Summarization via Deep Reinforcement Learningcited by 100
- 2019A Neural Model for Generating Natural Language Summaries of Program Subroutinescited by 77
- 2021PalmTree: Learning an Assembly Language Model for Instruction Embeddingcited by 49
- 2022jTrans: Jump-Aware Transformer for Binary Code Similaritycited by 44
- 2016Deep API Learningcited by 41
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 21
- 2019A Literature Study of Embeddings on Source Codecited by 18
- 2016A deep language model for software codecited by 14
- 2020Neural Software Analysiscited by 11
- 2018Query2Vec: An Evaluation of NLP Techniques for Generalized Workload Analyticscited by 8
- 2021Asteria: Deep Learning-based AST-Encoding for Cross-platform Binary Code Similarity Detectioncited by 8
- 2018Public Git Archive: a Big Code dataset for allcited by 6
- 2018CT-Wasm: Type-Driven Secure Cryptography for the Web Ecosystemcited by 2
- 2018Wasabi: A Framework for Dynamically Analyzing WebAssemblycited by 2
- 2019Not So Fast: Analyzing the Performance of WebAssembly vs. Native Codecited by 2
- 2018TaintAssembly: Taint-Based Information Flow Control Tracking for WebAssemblycited by 1
- 2018Taint Tracking for WebAssemblycited by 1
- 2022Wasmati: An Efficient Static Vulnerability Scanner for WebAssemblycited by 1
Built on by
Not cited yet.