Inference of object-oriented design patterns

Citation
P. Tonella et G. Antoniol, Inference of object-oriented design patterns, J SOFTW MA, 13(5), 2001, pp. 309-330
Citations number
21
Categorie Soggetti
Computer Science & Engineering
Journal title
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE
ISSN journal
1532060X → ACNP
Volume
13
Issue
5
Year of publication
2001
Pages
309 - 330
Database
ISI
SICI code
1532-060X(200109/10)13:5<309:IOODP>2.0.ZU;2-Y
Abstract
When designing a new application, experienced software engineers usually ad opt solutions that have proven successful in previous projects. Such reuse of code organizations is seldom made explicit. Nevertheless, it represents important information, which can be extremely valuable in the maintenance p hase by documenting the design choices underlying the implementation. In ad dition it can be reused whenever a similar problem is encountered. In this paper an approach for the inference of recurrent design patterns directly f rom the code is proposed. No assumption is made on the availability of any pattern library, and the concept analysis algorithm-adapted for this purpos e-is able to infer the presence of class groups which instantiate a common, repeated pattern. In fact, concept analysis provides sets of objects shari ng attributes, which-in the case of object-oriented design patterns-become class members or inter-class relations. The approach was applied to three C ++ applications for which the structural relations among classes led to the extraction of a set of design patterns, which could be enriched with non-s tructural information about class members and method invocations. The resul ting patterns could be interpreted as meaningful organizations aimed at sol ving general problems which have several instances in the applications anal yzed. Copyright (C) 2001 John Wiley & Sons, Ltd.