Font Size: a A A

Design Pattern Mining And Evolution Based On Fuzzy Theory

Posted on:2010-11-17Degree:MasterType:Thesis
Country:ChinaCandidate:J TianFull Text:PDF
GTID:2178360302960730Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Design pattern describes the role information of each class and the relations among them which is a superior abstract of object-oriented design. With the expansion of software's scale and complexity, in order to achieve better design and implementation of system and meet the continuous changing of market and customer, most of the software systems apply design patterns to enhance the system's reusability. As a result, mining design patterns from source code is of great importance to enhance the understandability and maintainability of software system.At present, design pattern mining has three difficulties as below: Firstly, because the design patterns in the system are usually different from the standard design patterns, the model's flexibility must be taken into consideration. Secondly, there is a lot of irrelevant information from design patterns. If the information is not filtered out, it will be a great burden to mining algorithm. Lastly, most design patterns have interactions among the classes. So dynamic information must be taken into account but dynamic analysis is rarely seen in recent papers. Aiming at the difficulties above, in this paper a design pattern mining matching approach based on fuzzy theory is put forward to implement design pattern mining. Source code and design pattern information are described by prime number matrix based on class relationship which is the basis of model. The model has a good flexibility and can adapt different design patterns. In addition, cluster analysis is applied to optimize the model, filter the abundant information and improve the efficiency of matching. By adding fuzzy theory to matching and importing dynamic information to complement to static information it enhances the accuracy and correctness. At same time, the model can locate the design patterns in source code by XML technology. By analyzing many design patterns in JUnit, JHotDraw and JRefactory, the conclusion can be drawn that accuracy and integrity are improved to a large extent and invalidity can be effectively avoided.Design pattern's reusability can make developers adjust the software system on the basis of certain design pattern when the requirements have changed. So, it needs a refactoring technology to adjust the system according to the design patterns. Aside of mining design patterns, a design pattern refactoring approach is proposed based on XSLT. The transformation mechanisms vary from refactoring types.In the end, a design pattern mining and evolution tool is implemented to automate mining and evolution. By testing open source, it proves the tool's validity.
Keywords/Search Tags:design pattern, fuzzy matching, pattern mining, matrix model, evolution
PDF Full Text Request
Related items