vix.ing · top · new · best · stats · spec

Analysing Anti-patterns Static Relationships with Design Patterns

2014/04/15 by Fehmi Jaafar, Jaafar, Fehmi, Yann‐Gaël Guéhéneuc +5
Computer Science · #Software Engineering Research #Advanced Software Engineering Methodologies #Software Reliability and Analysis Research

paper · doi:10.14279/tuj.eceasst.59.930.916

Abstract

Abstract—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.

Related