Design pattern detection using software metrics and machine learning

Satoru Uchiyama, Hironori Washizaki, Yoshiaki Fukazawa, Atsuto Kubo

Research output: Contribution to journalConference articlepeer-review

13 Citations (Scopus)

Abstract

The understandability, maintainability, and reusability of object-oriented programs could be improved by automatically detecting well-known design patterns in programs. Many existing detection techniques are based on static analysis and use strict conditions composed of class structure data. Hence, it is difficult for them to detect design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. We propose a design pattern detection technique using metrics and machine learning. Our technique judges candidates for the roles that compose the design patterns by using machine learning and measurements of metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. We conducted experiments that showed that our technique was more accurate than two previous techniques.

Keywords

  • Component
  • Design pattern
  • Machine learning
  • Object-oriented software
  • Software metrics

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Design pattern detection using software metrics and machine learning'. Together they form a unique fingerprint.

Cite this