Title :
Towards machine learning based design pattern recognition
Author :
Alhusain, Sultan ; Coupland, Simon ; John, Ranjith ; Kavanagh, Maria
Author_Institution :
Centre for Comput. Intell., De Montfort Univ., Leicester, UK
Abstract :
Software design patterns are abstract descriptions of best practice solutions for recurring design problems. The information about which design pattern is implemented where in a software design is very helpful and important for software maintenance and evolution. This information is usually lost due to poor, obsolete or lack of documentation, which raises the importance of automatic recognition techniques. However, their vague and abstract nature allows them to be implemented in various ways, which gives them resistance to be automatically and accurately recognized. This paper presents the first recognition approach to be solely based on machine learning methods. We build a training dataset by using several existing recognition tools and we use feature selection methods to select the input feature vectors. Artificial neural networks are then trained to perform the whole recognition process. Our approach is evaluated by conducting an experiment to recognize six design patterns in an open source application.
Keywords :
learning (artificial intelligence); neural nets; pattern recognition; public domain software; software maintenance; artificial neural networks; automatic recognition techniques; feature selection methods; first recognition approach; input feature vectors; machine learning; open source application; pattern recognition; recurring design problems; software design pattern; software evolution; software maintenance; Documentation; Learning systems; Measurement; Pattern recognition; Topology; Training; Vectors; Software design patterns; machine learning; pattern recognition; reverse engineering;
Conference_Titel :
Computational Intelligence (UKCI), 2013 13th UK Workshop on
Conference_Location :
Guildford
Print_ISBN :
978-1-4799-1566-8
DOI :
10.1109/UKCI.2013.6651312