Font Size: a A A

Research On Design Pattern Mining Based On Sub-graph Isomorphism And Machine Learning

Posted on:2019-02-06Degree:MasterType:Thesis
Country:ChinaCandidate:R Z LuFull Text:PDF
GTID:2428330548976314Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Design patterns are solutions to a variety of problems that are prevalent in software design and development.Design patterns are now widely used in software design and development.However,due to the document was missing during the development process or document was not maintained during the subsequent maintenance process,the difficulty of maintaining the software systems is increased.Therefore,it is of great significance to mine design patterns accurately and efficiently from the source code of the software systems.It can help developers and maintenance personnel develop,maintain,reconstruct,and documentize software systems.At present,some researchers try to introduce the machine learning method to mine the design pattern instances.However,there are some problems.For example,excessive number of class combinations to be classified causes the efficiency of design pattern mining to decrease;The design pattern classifier's inadequate learning of incorrect design pattern instances leads to a decrease in the accuracy of mining design pattern instances.In order to solve the above problems,this paper mainly done the following aspects:(1)A candidate design pattern raw instances mining method based on subgraph isomorphism is proposed.This method uses a class diagram to represent the software system and design patterns.It uses subgraph isomorphism to extract the candidate design pattern raw instances from the software system.The class represented by the vertex in a homogeneous subgraph is a candidate design pattern raw instance.This step filters a large number of class combinations of non-design patterns raw instances,and greatly improves the efficiency of mining design patterns.(2)A design pattern instances screening method based on machine learning is proposed.This method proposes 20 object-oriented metrics,vectorizes the design pattern raw instances in design pattern repository and candidate design pattern raw instances obtained in the previous step.We use different classification algorithms to train the model,and allow the model to fully learn the correct design pattern raw instances and erroneous design pattern raw instances,which further improve the accuracy of mining design pattern instances.(3)Based on the above research,this paper designed and implemented a design pattern mining tool,and analyzes three commonly used open source software.The experimental results show that this method achieves higher accuracy and recall rate while improving efficiency.
Keywords/Search Tags:Design Pattern, Design Pattern Detection, Sub-graph Isomorphism, Machine Learning
PDF Full Text Request
Related items