Automated refactoring to introduce design patterns
Proceedings of the 22nd international conference on Software engineering
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Analysing Object-Oriented Application Frameworks Using Concept Analysis
OOIS '02 Proceedings of the Workshops on Advances in Object-Oriented Information Systems
Reverse engineering framework reuse interfaces
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Efficient Relational Calculation for Software Analysis
IEEE Transactions on Software Engineering
Relational programming with CrocoPat
Proceedings of the 28th international conference on Software engineering
Automatic detection of incomplete instances of structural patterns in UML class diagrams
Nordic Journal of Computing
Recovering UML class models from C++: A detailed explanation
Information and Software Technology
Software Engineering
Design Pattern Detection by Using Meta Patterns
IEICE - Transactions on Information and Systems
Software System Understanding via Architectural Views Extraction According to Multiple Viewpoints
OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009
Combating architectural degeneration: a survey
Information and Software Technology
Refactorings of design defects using relational concept analysis
ICFCA'08 Proceedings of the 6th international conference on Formal concept analysis
The clustering algorithm of design pattern using object-oriented relationship
ICCSA'07 Proceedings of the 2007 international conference on Computational science and its applications - Volume Part III
A survey of formal concept analysis support for software engineering activities
Formal Concept Analysis
Concept lattices in software analysis
Formal Concept Analysis
Lessons learned in applying formal concept analysis to reverse engineering
ICFCA'05 Proceedings of the Third international conference on Formal Concept Analysis
Leveraging design rules to improve software architecture recovery
Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures
Hi-index | 0.00 |
When designing a new application, experienced software engineers usually try to employ solutions that proved successful in previous projects. Such reuse of code organizations is seldom made explicit. Nevertheless it represents important information about the system, that can be extremely valuable in the maintenance phase, by documenting the design choices underlying the implementation. In addition, having it available, it can be reused whenever a similar problem is encountered.In this paper an approach is proposed to the inference of recurrent design patterns directly from the code or the design. No assumption is made on the availability of any pattern library, and the concept analysis algorithm, adapted for this purpose, is able to infer the presence of class groups which instantiate a common, repeated pattern. In fact, concept analysis provides sets of objects sharing attributes, which, in the case of object oriented design patterns, become class members or inter-class relations.The approach was applied to a C++ application, for which the structural relations among classes led to the extraction of a set of structural design patterns, which could be enriched with non structural information about class members and method invocations. The resulting patterns could be interpreted as meaningful organizations aimed at solving general problems which have several instances in the analyzed application.