![]()
To address the above problems, this paper aims to explore a design pattern detection method based on the unified modeling language (UML) model with extended graph information and deep learning by building upon precedent works conducted by the authors. At present, many scholars have incorporated such technologies as logical reasoning, graph theory, extensible markup language (XML), abstract syntax tree (AST), ontology technology, abstract semantic graph (ASG), formal technologies, rules into the research of design pattern recognition. These early works provide useful research directions and ideas for later researchers. proposed a method to automatically search for structural design patterns in object-oriented software. ![]() Soon after the GoF design patterns were proposed, a small number of scholars conducted research on the identification of design patterns. Bordertool acheivement affected software#Using computer algorithms to automatically or semi-automatically detect relevant design patterns (also known as recognize, identify, mine, discover, or recover relevant design patterns) from system design or source code, helps software developers and maintainers understand the ideas behind the design of large-scale, highly complicated software systems. When a system is lacking in information related to patterns, the system’s comprehensibility and maintainability will be significantly lowered, posing a constraint on potential benefits that would otherwise be brought by design patterns. However, records on the use of design patterns are frequently lacking in systems amid the real-world software development process. The research is, therefore, of both theoretical significance and application value. The experimental results demonstrate that this paper can achieve a better effect in recognizing design patterns. In general, the method proposed in this paper achieved higher precision and recall, and for different programs and their patterns, the precision and recall were stable at more than 85% in most cases. We used three non-machine learning design pattern detection methods and five design pattern detection methods based on traditional machine learning algorithms, as well as the method in this paper. Experiments were carried out on three open-source projects. This paper intends to first explore a UML model that extends image information, called colored UML, so as to transform the design pattern detection problem into an image classification problem on this basis, the positive and negative sample sets and the system to be recognized are all expressed in the form of colored UML models, the convolutional neural network VGGNet is used to train the data set to extract features, and the extracted features are trained by the SVM for binary classification to judge the pattern instances. Bordertool acheivement affected code#Based on the research work done, we speculate that if we can realize the end-to-end design pattern detection from system design or source code to design pattern with the help of the powerful automatic feature extraction and other advantages of deep learning, the detection effect can be further improved. In the previous research, we have initially explored a design pattern detection method based on graph theory and ANN. ![]() It is very difficult to find suitable and effective features for the detection of design patterns. Bordertool acheivement affected manual#However, most of the existing literature only reports the utilization of traditional machine learning algorithms such as KNN, decision trees, ANN, SVM, etc., which require manual feature extraction and feature selection. ![]() Scholars have proposed many design pattern detection methods based on machine learning. Currently, design pattern detection based on machine learning has become a hot research direction. Detecting relevant design patterns from system design or source code helps software developers and maintainers understand the ideas behind the design of large-scale, highly complicated software systems, thereby improving the quality of software systems. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |