loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
21st IEEE International Conference on Software Maintenance (ICSM'05)
Design Pattern Mining Enhanced by Machine Learning
Budapest, Hungary
September 25-September 30
ISBN: 0-7695-2368-4
Rudolf Ferenc, University of Szeged
Árpád Beszédes, University of Szeged
Lajos Fülöp, University of Szeged
János Lele, University of Szeged
Design patterns present good solutions to frequently occurring problems in object-oriented software design. Thus their correct application in a system?s design may significantly improve its internal quality attributes such as reusability and maintainability. In software maintenance the existence of up-to-date documentation is crucial, so the discovery of as yet unknown design pattern instances can help improve the documentation. Hence a reliable design pattern recognition system is very desirable. However, simpler methods (based on pattern matching) may give imprecise results due to the vague nature of the patterns? structural description. In previous work we presented a pattern matching-based system using the Columbus framework with which we were able to find pattern instances from the source code by considering the patterns? structural descriptions only, and therefore we could not identify false hits and distinguish similar design patterns such as State and Strategy. In the present work we use machine learning to enhance pattern mining by filtering out as many false hits as possible. To do so we distinguish true and false pattern instances with the help of a learning database created by manually tagging a large C++ system.
Index Terms:
Columbus, C++, Design Patterns, Machine Learning, StarOffice
Citation:
Rudolf Ferenc, Árpád Beszédes, Lajos Fülöp, János Lele, "Design Pattern Mining Enhanced by Machine Learning," icsm, pp.295-304, 21st IEEE International Conference on Software Maintenance (ICSM'05), 2005
Usage of this product signifies your acceptance of the Terms of Use.