Towards deep learning driven design pattern detection
|Title||Towards deep learning driven design pattern detection|
|Organization||Software Competence Center Hagenberg|
|School||Johannes Kepler University Linz|
Design patterns are elegant and well tested solutions to recurrent software development problems. Their extensive use in every day programming weaves valuable architectural information into software systems. Despite the wide usage of design patterns, system documentations seldom contain information about their existence. This work presents a fully fledged approach to extract design patterns such that the lost information can be of value for architects, developers and maintainers. It includes the common design pattern detection steps that extract features, sample candidates from the system under inspection and infer whether the candidates are of a certain pattern or not. The approach incorporates the usage of object oriented properties in form of micro-structures that are projected onto feature maps. These feature maps are then analyzed by a convolutional neural network that extracts high-level features from which robust prediction results can be drawn. Results indicate that deep learning methods bare great potential for the design pattern community as reliable inference procedure.