title: Design pattern mining using distributed learning automata and DNA sequence alignment.
abstract: BACKGROUND
  Over the last decade, design patterns have been used extensively to generate reusable solutions to frequently encountered problems in software engineering and object oriented programming. A design pattern is a repeatable software design solution that provides a template for solving various instances of a general problem.
  
  
  OBJECTIVE
  This paper describes a new method for pattern mining, isolating design patterns and relationship between them; and a related tool, DLA-DNA for all implemented pattern and all projects used for evaluation. DLA-DNA achieves acceptable precision and recall instead of other evaluated tools based on distributed learning automata (DLA) and deoxyribonucleic acid (DNA) sequences alignment.
  
  
  METHODS
  The proposed method mines structural design patterns in the object oriented source code and extracts the strong and weak relationships between them, enabling analyzers and programmers to determine the dependency rate of each object, component, and other section of the code for parameter passing and modular programming. The proposed model can detect design patterns better that available other tools those are Pinot, PTIDEJ and DPJF; and the strengths of their relationships.
  
  
  RESULTS
  The result demonstrate that whenever the source code is build standard and non-standard, based on the design patterns, then the result of the proposed method is near to DPJF and better that Pinot and PTIDEJ. The proposed model is tested on the several source codes and is compared with other related models and available tools those the results show the precision and recall of the proposed method, averagely 20% and 9.6% are more than Pinot, 27% and 31% are more than PTIDEJ and 3.3% and 2% are more than DPJF respectively.
  
  
  CONCLUSIONS
  The primary idea of the proposed method is organized in two following steps: the first step, elemental design patterns are identified, while at the second step, is composed to recognize actual design patterns.
authors.affiliation: Department of Computer Engineering, College of Engineering, Hamedan Branch, Islamic Azad University, Hamedan, Iran.
authors.forename: Mansour
authors.initials: M
authors.lastname: Esmaeilpour
authors.affiliation: Department of Computer Engineering, College of Engineering, Hamedan Branch, Islamic Azad University, Hamedan, Iran.
authors.forename: Vahideh
authors.initials: V
authors.lastname: Naderifar
authors.affiliation: Software Technology and Management Research Center, Faculty of Information Science and Technology, Universiti Kebangsaan Malaysia, Bangi, Malaysia.
authors.forename: Zarina
authors.initials: Z
authors.lastname: Shukur
mesh_terms: D004247:DNA; D010363:Pattern Recognition, Automated / Q000379:methods*; D011381:Programming Languages; D016415:Sequence Alignment; D017422:Sequence Analysis, DNA / Q000379:methods*; D012984:Software
chemical_list: D004247:DNA