Corpus ID: 220793374

Automated Query Generation for Design Pattern Mining in Source Code

  title={Automated Query Generation for Design Pattern Mining in Source Code},
  author={Jeffy Jahfar Poozhithara and Hazeline U. Asuncion and Brent Lagesse},
Identifying which design patterns already exist in source code can help maintenance engineers gain a better understanding of the source code and determine if new requirements can be satisfied. There are current techniques for mining design patterns, but some of these techniques require tedious work of manually labeling training datasets, or manually specifying rules or queries for each pattern. To address this challenge, we introduce Model2Mine, a technique for automatically generating SPARQL… Expand


A Semantic Web based approach for design pattern detection from source code
  • S. Paydar, M. Kahani
  • Computer Science
  • 2012 2nd International eConference on Computer and Knowledge Engineering (ICCKE)
  • 2012
An approach is proposed which uses the Semantic Web technologies for automatically detecting design patterns from Java source code based on the semantic data model as the internal representation, and on SPARQL query execution as the analysis mechanism. Expand
Mining design patterns from C++ source code
  • Zsolt Balanyi, R. Ferenc
  • Computer Science
  • International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.
  • 2003
A new XML-based language, the Design Pattern Markup Language (DPML), is introduced, which provides an easy way for the users to modify pattern descriptions to suit their needs, or even to define their own patterns or just classes in certain relations they wish to find. Expand
Detecting Design Patterns in Object-Oriented Program Source Code by Using Metrics and Machine Learning
A design pattern detection technique using source code metrics and machine learning that judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects designs by analyzing the relations between candidates. Expand
A Review of Design Pattern Mining Techniques
This paper presents a review on current techniques and tools for mining design patterns from source code or design of software systems, classify different approaches and analyze their results in a comparative study. Expand
Detecting Design Patterns Using Source Code of Before Applying Design Patterns
This work proposes an approach of design pattern detection using source-code of before the application of the design pattern, able to distinguish different design patterns with similar structures, and help maintainers understand the design of the program more accurately. Expand
The work in the literature on assistants for programmers and software architects is shown and a system called IDEA (Interactive DEsign Assistant) is presented meant for automating the task of finding and improving the realizations of design patterns. Expand
CodeOntology: Querying Source Code in a Semantic Framework
This paper focuses on the expressiveness of this framework by showing how CodeOntology can be used for static code analysis, semantic component search and code reuse. Expand
Building and mining a repository of design pattern instances: Practical and research benefits
The results suggest that the repository can be useful for both experienced and inexperienced users, however, the benefits of using the repository are more significant for inexperienced users. Expand
From Sub-patterns to Patterns: An Approach to the Detection of Structural Design Pattern Instances by Subgraph Mining and Merging
This paper first transforms the source codes and predefined patterns into graphs, with the classes as nodes and the relations as edges, and identifies the instances of sub-patterns that would be the possible constituents of pattern instances by means of subgraph discovery. Expand
Automatic verification of design patterns in Java
A pattern specification language, Spine, is presented that allows patterns to be defined in terms of constraints on their implementation in Java and highlights some repeated mini-patterns discovered in the formalisation of these design patterns. Expand