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.
Original language | English |
---|---|
Pages (from-to) | 38-47 |
Number of pages | 10 |
Journal | CEUR Workshop Proceedings |
Volume | 708 |
Publication status | Published - 2011 Dec 1 |
Event | Joint 1st Int. Workshop on Model-Driven Software Migration, MDSM 2011 and the 5th International Workshop on Software Quality and Maintainability, SQM 2011 - Workshops at the 15th European Conf. on Software Maintenance and Reengineering, CSMR 2011 - Oldenburg, Germany Duration: 2011 Mar 1 → 2011 Mar 1 |
Keywords
- Component
- Design pattern
- Machine learning
- Object-oriented software
- Software metrics
ASJC Scopus subject areas
- Computer Science(all)