Methodology for the quantification of the effect of patterns and anti-patterns association on the software quality

Shahid Hussain, Jacky Keung, Muhammad Khalid Sohail, Arif Ali Khan, Ghufran Ahmad, Muhammad Rafiq Mufti, Hasan Ali Khatak

Research output: Contribution to journalArticlepeer-review

6 Scopus citations


The employment of design patterns is considered as a benchmark of software quality in terms of reducing the number of software faults. However, the quantification of the information about the hinder design issues such as the number of roles, type of design pattern, and their association with anti-pattern classes is still required. The authors propose a new methodology to evaluate the impact of certain design issues on the software quality in terms of quantification of fault density. Firstly, they mine the required information about the classes of each system under study. Secondly, they describe taxonomy to group the classes. Subsequently, they used statistical techniques to formulate and benchmark the results. They include the analysis of four open source projects with six design patterns and six anti-patterns in the case study. The main consequences are (i) the pattern participant classes are less dense in faults, (ii) the classes involved in the structural association between design patterns and anti-patterns are denser in faults, (iii) the pattern participant classes with multi-role and anti-pattern smell association is denser in faults as compared to others. The significant difference between fault density distributions of groups of classes is still unclear and required further empirical investigation.

Original languageEnglish (US)
Pages (from-to)414-422
Number of pages9
JournalIET Software
Issue number5
StatePublished - Oct 1 2019

All Science Journal Classification (ASJC) codes

  • Computer Graphics and Computer-Aided Design


Dive into the research topics of 'Methodology for the quantification of the effect of patterns and anti-patterns association on the software quality'. Together they form a unique fingerprint.

Cite this