# Techniques for Calculating Software Product Metrics Threshold Values: A Systematic Mapping Study
## 4 Systematic Mapping Process
### Q1 What Kind of Threshold Calculation Methods Exist in the Literature?
In [PERSON] et al. 's [22] paper, the authors suggested the concept of the relative threshold to evaluate metrics that follow heavy-tailed distributions. Quality related: The survivability approach was proposed in [26] for object-oriented systems for solving the problem of software degradation commonly caused by increasing growth in classes and methods. In [17], the threshold values of the metrics were used to detect code bad smells. These thresholds were presented in [PERSON] [51]. [PERSON] applied a significance threshold (a = 0.05) for four studies of object-oriented metrics, namely [24; 52; 53]. This threshold is used to understand if a metric is a significant fault predictor. The data-driven method was suggested by [PERSON] et al. [14], which is repeatable and transparent, and enables the extraction of thresholds. This method is also based on the metric's statistical distribution. Threshold values are derived for five different bad smells; for example, WMC has separate thresholds for the God class and data class. Moreover, the receiver operating characteristic (ROC) curve is a technique that has been used for the first time to identify object-oriented metric threshold values in work [17]. [PERSON] et al. [39] presented a tool to calculate relative thresholds using measurement data. [PERSON] and [PERSON] [1] proposed a hybrid model that uses [PERSON] et al. [17] and [PERSON]'s [54] approach. [PERSON] et al. [55] used [PERSON]'s [54] approach to detect object-oriented threshold values. [PERSON] et al. [44] proposed a new threshold calculation by modifying [PERSON]'s threshold method [25]. [PERSON] and [PERSON] [56] proposed a statistical power-law distribution to calculate threshold values. In work by [PERSON] and [PERSON] [41], [PERSON] et al. 's [17] method, which is based on ROC analysis, was applied to calculate matrix threshold values. [PERSON] [54] derived thresholds for change-proneness using the ROC technique. In the paper of [PERSON] et al. [15], threshold values obtained by [PERSON] et al. [17] were used as-is. Review study: [PERSON] and [PERSON] [3] performed a review study and showed the importance of software metrics in software engineering. [PERSON] and [PERSON] [27] provided a preliminary mapping study of software metric thresholds calculation papers based on the Scopus database. The review of the selected papers has found a taxonomy of three types of research in threshold calculation as shown in Table 5. The taxonomy is based on the evolution of threshold studies. In early works, researchers considered metrics as simple measures of quality and therefore, researchers proposed thresholds based on their experience. However, thresholds were not proved to have any link with quality. A set of studies started to link thresholds to quality attributes such as fault-proneness and change-proneness. These studies although found the link could not report consistent thresholds among different systems. The researchers have proposed to find thresholds from a large corpus of systems. The linkage of thresholds with a quality attribute is limited by the number of systems that report bug data. The use of prediction models was deemed complex and time-consuming on a large corpus of systems. To resolve such complexity, statistical properties of metrics were proposed to find thresholds from the corpus of systems. Therefore, finding thresholds from a corpus depends on statistical properties.