Anti-pattern Mutations and Fault-proneness. Jaafar, F., Khomh, F., Gu�h�neuc, Y., & Zulkernine, M. In Proceedings of the 14<sup>th</sup> International Conference on Quality Software (QSIC), pages 246–255, October, 2014. IEEE CS Press. 10 pages.
Anti-pattern Mutations and Fault-proneness [pdf]Paper  abstract   bibtex   
Software evolution and development are continuous activities that have a never-ending cycle. While developers commit changes on a software system to fix bugs or to implement new requirements, they sometimes introduce anti-patterns, which are bad solutions to recurring design problems in the system. Many previous studies have shown that these anti-patterns have negative effects on code quality, in particular fault-proneness. However, it is not clear if and how anti-patterns evolve and which evolutionary behaviours are more fault-prone. This paper presents results from an empirical study aimed at understanding the evolution of anti-patterns in 27 releases of three open-source software systems: ArgoUML, Mylyn, and Rhino. Specifically, the study analyzes the mutations of anti-patterns, the changes that they undergo, and the relation between anti-pattern evolution behaviours and fault-proneness. Results show that (1) anti-patterns mutate from one type of anti-patterns to another, (2) structural changes are behind these mutations, and (3) some mutations are more risky in terms of fault-proneness.

Downloads: 0