A graph mining approach for detecting identical design structures in object-oriented design models

Umut Tekin*, Feza Buzluca

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

10 Citations (Scopus)

Abstract

The object-oriented approach has been the most popular software design methodology for the past twenty-five years. Several design patterns and principles are defined to improve the design quality of object-oriented software systems. In addition, designers can use unique design motifs that are designed for the specific application domains. Another commonly used technique is cloning and modifying some parts of the software while creating new modules. Therefore, object-oriented programs can include many identical design structures. This work proposes a sub-graph mining-based approach for detecting identical design structures in object-oriented systems. By identifying and analyzing these structures, we can obtain useful information about the design, such as commonly-used design patterns, most frequent design defects, domain-specific patterns, and reused design clones, which could help developers to improve their knowledge about the software architecture. Furthermore, problematic parts of frequent identical design structures are appropriate refactoring opportunities because they affect multiple areas of the architecture. Experiments with several open-source and industrial projects show that we can successfully find many identical design structures within a project (intra-project) and between different projects (inter-project). We observe that usually most of the detected identical structures are an implementation of common design patterns; however, we also detect various anti-patterns, domain-specific patterns, reused design parts and design-level clones.

Original languageEnglish
Pages (from-to)406-425
Number of pages20
JournalScience of Computer Programming
Volume95
DOIs
Publication statusPublished - 2014

Bibliographical note

Publisher Copyright:
© 2013 Elsevier B.V. All rights reserved.

Keywords

  • Graph mining
  • Identical design structures
  • Pattern extraction
  • Software design models
  • Software motifs

Fingerprint

Dive into the research topics of 'A graph mining approach for detecting identical design structures in object-oriented design models'. Together they form a unique fingerprint.

Cite this