Font Size: a A A

Optimization Of Software Testing Efficiency Based On Symbolic Execution

Posted on:2019-05-31Degree:MasterType:Thesis
Country:ChinaCandidate:H LiFull Text:PDF
GTID:2428330596951114Subject:Engineering
Abstract/Summary:PDF Full Text Request
The quality of software is the life of a software,and it directly affects the use and maintenance of a software.Software testing is an important method to ensure the quality of the software,and the integral part of the software development process.It is used to test whether the software meets the specified requirements or verifies that the expected results are consistent with the actual results.Symbolic execution can be used to find defects in a program,to generate test cases,to verify the correctness of the program,etc.In order to solve the problem of path explosion and constraint solving in Symbolic execution,in this paper,we research the method of improving the efficiency of Symbolic execution.The main research work are follows:Firstly,because in software testing,exploring more paths does not necessarily reveal more behavior of program,so this paper puts forward a method to eliminate the redundant paths.The path is redundant and does not need to be explored if the behavior of program displayed in this path has been shown by other previously explored paths.Based on the above conclusion,this paper proposes a method of eliminating redundant paths through the value of symbols.In addition,in view of the shortage of traditional program dependency include control dependence,data dependence and potential dependency,a new dependency called interaction dependency is introduced.The experimental results show that the method of eliminating redundant paths has explored the path of 6.69%-96.57% compared with the traditional symbolic execution,and achieves the acceleration of 1.02-49.56 times.Secondly,a path search strategy based on ant colony algorithm is proposed.The core idea of the speculate symbolic execution is guess.Due to the need of backtrack when guess is failed and it reduces the efficiency of the speculate symbolic execution,so the success rate of guess is the key to improving the overall efficiency.The path search strategy based on ant colony algorithm takes the feasibility of branch as pheromone,and first explore the branches with high feasibility during the path search,and then dynamically update the feasibility(weight)of branches.The experimental results show that the path search strategy based on ant colony algorithm obviously reduces the time of path search and the time of constraint solving.Thirdly,the research improved the traditional centralized scheduling strategy and used the load balancing technology to improve the parallel efficiency.The obvious disadvantage of centralized scheduling is that frequent communication between nodes will lead to a busy center node and some idle work nodes,which will affect the efficiency of parallel.In order to solve this problem,this paper adds a buffer to store the task queue in centralized scheduling,which solves the problem of inconsistent speed of task distribution and processing,and reduces the idle time of work nodes.At the same time,the minimum task queue algorithm is used to ensure that the length of each task queue is basically equal and the workload of each work node is balanced.
Keywords/Search Tags:path explosion, constraint solving, speculate symbolic execution, ant colony algorithm, redundant path, centralized scheduling
PDF Full Text Request
Related items