| With the improvement of complexity of software system,describe reasonably and effectively measure of its complexity are important means to improve the security and reliability of software.And some important patterns produced during the software executing processs can effectively reflect the software behavior.Mining these patterns can help us find the errors and maintain software security.This article from the perspective of dynamic software execution,construct model based on the software implementation process,design mining pattern algorithm,and mine pattern from software executing procedure.The main work of the paper is as follows.Firstly,we track the software dynamic execution process,construct the model of sequence,and design the algorithm SHUP-Miner,The traditional sequential patterns mining algorithm mine continuous invocation patterns.SHUP-Miner adopts IUL structure and uses the location index mining continuous and nonconsecutive patterns.Secondly,according to the dynamic execution of software process,we build function call graph model.And we design algorithm PSWP-Miner based on projection database model.Function call graph is a compressed data structure and it can effectively save the storage space.At the same time,the algorithm uses a new upper bound model and develop a new weight function definition.And then,the paper classifies the software sequence data to predict whether the program contains errors.It calculates the suspicious value of the function and generate error report.Then developer can discover error as soon as possible.Finally,based on the front of the proposed algorithms,the experiment are conduct in the final chapter.We analysis algorithm in the performance of the operation time,the number of candidates,and verify the classification accuracy of prediction. |