11th Working Conference on Reverse Engineering (2004)
Delft, The Netherlands
Nov. 8, 2004 to Nov. 12, 2004
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.18
Gabriela Arévalo , University of Bern
Frank Buchli , University of Bern
Oscar Nierstrasz , University of Bern
Akey problem during software development and maintenance is to detect and recognize recurring collaborations among software artifacts that are implicit in the code. These collaboration patterns are typically signs of applied idioms, conventions and design patterns during the development of the system, and may entail implicit contracts that should be respected during maintenance, but are not documented explicitly. In this paper we apply Formal Concept Analysis to detect implicit collaboration patterns. Our approach generalizes Antoniol and Tonella one for detecting classical design patterns. We introduce a variation to their algorithm to reduce the computation time of the concepts, a language-independent approach for object-oriented languages, and a post-processing phase in which pattern candidates are filtered out. We identify collaboration patterns in the analyzed applications,match them against libraries of known design patterns, and establish relationships between detected patterns and their nearest neighbours.
O. Nierstrasz, G. Arévalo and F. Buchli, "Detecting Implicit Collaboration Patterns," 11th Working Conference on Reverse Engineering(WCRE), Delft, The Netherlands, 2004, pp. 122-131.