Title :
Detecting implicit collaboration patterns
Author :
Arévalo, Gabriela ; Buchli, Frank ; Nierstrasz, Oscar
Author_Institution :
Inst. fur Informatik und angewandte Math., Bern Univ., Switzerland
Abstract :
A key 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. 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.
Keywords :
formal specification; object-oriented methods; software maintenance; applied idioms; design patterns; formal concept analysis; implicit collaboration patterns; object-oriented languages; software artifacts; software development; software maintenance; system development; Application software; Collaboration; Collaborative software; Collaborative work; Contracts; Pattern analysis; Pattern matching; Pattern recognition; Programming; Software maintenance;
Conference_Titel :
Reverse Engineering, 2004. Proceedings. 11th Working Conference on
Print_ISBN :
0-7695-2243-2
DOI :
10.1109/WCRE.2004.18