Analysing Anti-patterns Static Relationships with Design Patterns. Jaafar, F., Guéhéneuc, Y., Hamel, S., & Khomh, F. Electronic Communications of the EASST (ECEASST), European Association of Software Science and Technology, August, 2014. 26 pages.
Analysing Anti-patterns Static Relationships with Design Patterns [pdf]Paper  abstract   bibtex   
Anti-patterns are motifs that are usually thought to be good solutions to some design or implementation problems, but back-fires badly when applied. Previous studies have reported that anti-patterns make object oriented systems hard to maintain. Anti-patterns motifs usually have dependencies with other classes in the system. In this paper, we propose to analyse these dependencies (with in particular design patterns) in order to understand how developers can maintain programs containing anti-patterns. To the best of our knowledge, no substantial investigation of anti-pattern dependencies with design patterns has been done before. This paper presents the results of a study that we performed on three different systems, ArgoUML, JFreeChart, and XercesJ, written in Java, and of size ranges from 1,191 to 3,325 classes, to analyse the static relationships between anti-patterns and design patterns. We found that these relationships (1) exist, but (2) are temporary and (3) classes participating in such relationships are more change-prone but less fault-prone than other anti-pattern classes.

Downloads: 0