Font Size: a A A

Research On Recommendation Technology Of Software Verification Algorithm Based On LSTM And Region Classification

Posted on:2022-03-05Degree:MasterType:Thesis
Country:ChinaCandidate:J W JiangFull Text:PDF
GTID:2518306479993279Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the development of software,the security of software has been concerned and worried by the industry.Software verification is one of the ways to check software security.In recent years,due to the urgency of software security requirements,a large number of software verification algorithms are proposed by researchers to verify whether the software meets the relevant properties.Unfortunately,due to the complexity of software verification tools and the lack of unified metrics to provide software security practitioners to choose the appropriate verification algorithm.How to provide appropriate verification algorithm for software security practitioners has become an urgent problem in the field of software verification.The automatic recommendation of software verification algorithm becomes the key technology to solve the above problems.At present,the automatic recommendation technology of software verification algorithm is all based on the classification model of machine learning algorithm.The purpose is to learn the corresponding law between software verification task and software verification algorithm through machine learning algorithm,and to form a recommendation model that can predict whether a given verification task and a specific verification algorithm are suitable.However,there are some problems in these recommendation models,such as the difficulty of software feature extraction and the imbalance of data distribution.In this paper,we propose a verification algorithm recommendation model based on LSTM and region classification.First of all,facing the difficulty of software feature extraction,we use control flow graph(CFG)and word2 vec to form the embedded vector of code words.Then long short term memory(LSTM)is used to learn the context information of the code.Thus a verification algorithm recommendation model based on LSTM is formed.In addition,in order to solve the problem of data set category imbalance.We propose a method based on code sample enhancement to improve the accuracy of LSTM based verification algorithm recommendation model on samples with few categories.In this article,we provide two methods of code sample enhancement.In particular,we propose to generate adversarial code example method in order to enhance samples.Secondly,we study the verification algorithm recommendation model based on LSTM to defend against adversarial code example.A region classification defense method based on sentence importance is proposed.Finally,the experiments verify that(1)the LSTM based verification algorithm recommendation model is superior to the existing software algorithm recommendation technology.(2)The method based on code sample enhancement can help the verification algorithm recommendation model based on LSTM to improve the accuracy on the category less samples.(3)Region classification based on statement importance can effectively reduce the attack of code against samples.The main contributions of this paper are as follows:· This paper presents a method of software code feature extraction based on control flow graph and word2 vec.By regarding the software code as English text,word2 vec is used to obtain the embedded vector of words in the code text. Finally,the embedded vectors of these words are used to construct the feature vectors of the code.The method of code feature extraction based on control flow graph and word2 vec is applied to the research of software verification algorithm automatic recommendation technology for the first time.· propose a data enhancement method based on adversarial code example.That is to say,the data set is enhanced by generating code against samples.This method is inspired by the text confrontation training.In this paper,the data enhancement method based on code countermeasure samples is an attempt of countermeasure training in software verification algorithm automatic recom mendation model.· propose region classification algorithm based on sentence importance to enhance the robustness of LSTM model.Different from the previous region classification,our sampling method is directional.In other words,region sampling is carried out in the vector space corresponding to a specific statement.The region classification algorithm based on sentence importance is an extension of region classification in code text,and it also has reference significance for other text task defense.
Keywords/Search Tags:Software Verification, Algorithm Recommendation, Deep Learning, Adversarial Example, Region Classification
PDF Full Text Request
Related items