Authors:
Andreas Wierda
1
;
Eric Dortmans
1
and
Lou Somers
2
Affiliations:
1
Océ-Technologies BV, Netherlands
;
2
Eindhoven University of Technology, Netherlands
Keyword(s):
Pattern detection, formal concept analysis, object-oriented, reverse engineering.
Related
Ontology
Subjects/Areas/Topics:
Health Engineering and Technology Applications
;
Neurocomputing
;
Neurotechnology, Electronics and Informatics
;
Reverse Engineering
Abstract:
Pattern detection methods discover recurring solutions in a system’s implementation, for example design patterns in object-oriented source code. Usually this is done with a pattern library. This has the disadvantage that the precise implementation of the patterns must be known in advance. The method used in our case study does not have this disadvantage. It uses a mathematical technique called Formal Concept Analysis and is applied to find structural patterns in two subsystems of a printer controller. The case study shows that it is possible to detect frequently used structural design constructs without upfront knowledge. However, even the detection of relatively simple patterns in relatively small pieces of software takes a lot of computing time. Since this is due to the complexity of the applied algorithms, applying the method to large software systems like the complete controller is not practical. They can be applied to its subsystems though, which are about five to ten percent of
its size.
(More)