Journal Article

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

Shahid Hussain, Jacky W. Keung, Mohammad Khalid Sohail, Arif Ali Khan, Ghufran Ahmad, Muhammad Rafiq Mufti, Hasan Ali Khattak
IET Softw. 2019 10.1049/iet-sen.2018.5087

Abstract

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. 1 Introduction The design patterns are useful to provide a precise way for the investigation of quality attributes and maintenance of software [1]. In object-oriented software, the classes which are participated in design motif [2] are significantly different with minor precision from the non-participant classes in terms of frequency of faults [3, 4], several changes in order to fix the faults [3], and fault density [5]. The influential factors such as the type of design pattern, the involvement of a pattern participant class (PPC; participating in a design motif) in the number of roles [5, 6], the number of design pattern instances [7], and association of a design pattern with antipatterns (or code) smell have a significant effect on the software quality [8, 9]. The relationship of the confounding effect of class size with the number of faults has been rep

Keywords