Analysing Anti-patterns Static Relationships with Design Patterns. Jaafar, F., Gu�h�neuc, Y., & Hamel, S. In Abebe, S. L., Arnaoudova, V., Eshkevari, L. M., Saban�, A., & Wu, W., editors, Proceedings of the 1<sup>st</sup> International Workshop on Patterns Promotion and Anti-patterns Prevention (PPAP), March, 2013. �PM. 6 pages.
Analysing Anti-patterns Static Relationships with Design Patterns [pdf]Paper  abstract   bibtex   
Anti-patterns are motifs that are commonly used by developers but they are ineffective and counterproductive in program development and-or maintenance. These motifs evolve and they may have dependencies with non-anti-pattern classes. We propose to analyse these dependencies (in particular with 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 was presented. This paper presents the results of a study that we performed on three different Java systems (ArgoUML, JFreeChart, and XercesJ) to analyse the static relationships between anti-patterns and design patterns. We detect such static relationships to better understand software systems and to explain the co-existence of these motifs. Our finding provides evidence that developers encapsulate anti-patterns using design patterns to facilitate maintenance tasks and reduce comprehension effort.

Downloads: 0