2019 · 50 citations · 55 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureMalware AnalysisNatural Language ProcessingAbstract Syntax TreesLanguage ModelingNatural Language GenerationWord EmbeddingsBinary AnalysisBinary DisassemblyJoint Embedding LearningJoint Learning Of EmbeddingsJoint Representation LearningSource Code Plagiarism Detection
Given a closed-source program, such as most of proprietary software and viruses, binary code analysis is indispensable for many tasks, such as code plagiarism detection and malware analysis. Today, source code is very often compiled for various architectures, making cross-architecture binary code analysis increasingly important. A binary, after being disassembled, is expressed in an assembly language. Thus, recent work starts exploring Natural Language Processing (NLP) inspired binary code analysis. In NLP, words are usually represented in high-dimensional vectors (i.e., embeddings) to facilitate further processing, which is one of the most common and critical steps in many NLP tasks. We regard instructions as words in NLPinspired binary code analysis, and aim to represent instructions as embeddings as well.
55
Laurens van der Maaten, Geoffrey E. Hinton · Journal of Machine Learning Research · 2008 · 35.7K citations
Distributed Representations of Words and Phrases and their Compositionality
Tomáš Mikolov, Ilya Sutskever, Kai Chen et al. · arXiv (Cornell University) · 2013 · 18.1K citations · Full text
Indexing by latent semantic analysis
Scott Deerwester, Susan Dumais, George W. Furnas et al. · Journal of the American Society for Information Science · 1990 · 12.8K citations
Hierarchical Attention Networks for Document Classification
Zichao Yang, Diyi Yang, Chris Dyer et al. · 2016 · 4.8K citations · Full text