Font Size: a A A

Program Classification Based On Deep Neural Networks

Posted on:2019-01-16Degree:MasterType:Thesis
Country:ChinaCandidate:Y QiaoFull Text:PDF
GTID:2428330548479784Subject:Computer Science and Technology
Abstract/Summary:
With the development of information technology,a wide range of software makes our life more convenient.Program is the main component of software,its' understanding is the foundation of large-scale software analysis,management and retrieval.Program classification is a typical task of program understanding,with the explosive growth of program scale and the breakthrough of deep learning in natural language processing,researchers began to solve large-scale program classification problem by deep learning.Since its essence is program encoding and feature extraction,the integration of program analysis and deep learning is the key to solve these tasks.Based on the systematic study of the existing research methods,this dissertation proposes two new methods to classify source program and the binary program.The first method solves source code classification task better.We use partial syntax tree(AST)as static analysis information of program,then use dual stream CNN model to encode program and analysis information at the same time.Through experimental verification of different data sets,this method achieved better results than existing methods in both complete and incomplete program classification tasks.The second method solves binary code classification tasks better.We propose a new way to divide binary program into small blocks based on program control flow graph(CFG),then use hierarchical LSTM model to encode blocks' information.This method takes full account of the program's level property and achieves better results than existing methods in binary compilation optimization option classification experiment.We also discuss the effects of different input types,preprocess methods and program length to classification result.
Keywords/Search Tags:Program Classification, Binary Program, Convolutional Neural Network, Recurrent Neural Network, Static Analysis
Related items