## 5 The Validation of the Proposed Approach With Expert Judgment
The numbers are presented in Table 8. Classes were assessed by experts who were teamed into pairs, which is presented in the third column in Table 12. All of the entities were assessed by two pairs of experts and some of the classes were additionally assessed by an individual assessor to confirm the results. As shown in Table 12, the proposed overall quality was confirmed for all of the evaluated classes. Also, the evaluation was confirmed for quality aspects of size, complexity and coupling. The evaluation of cohesion was not confirmed for one software class. The results also confirmed the absence of false positive results. The goal of the expert judgment was to answer the research questions presented at the beginning of the section. As the results show, the overall quality was confirmed for all classes in all three  
\begin{table}
\begin{tabular}{l c c c c c c} \hline \hline
**Entity** & **\# ev. ** & **Pairs** & **(1)** & **(2)** & **(3)** & **(4)** & **(5)** \\ \hline Java201-1 &  
programming languages by all of the experts. With this, the correctness of the identification is confirmed. The important part of the validation is also how reliable the proposed identification is. This is especially vital in comparison with the evaluation based on an individual software metric. As the results of the experts' judgment show, no example of false positive identification was found. The correctness and reliability of the proposed identification approach based on the combination of software metrics and the use of the majority function was evaluated by using the confusion matrix, presented in Table 13. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Entity** & **\# ev.** & **Pairs** & **(1)** & **(2)** & **(3)** & **(4)** & **(5)** \\ \hline C++201-1 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++201-2 & 2 & 1 & ✓ & ✓ & ✓ & & ✓ \\ C++201-3 & 2 & 1 & ✓ & ✓ & ✓ & & ✓ \\ C++201-4 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++201-5 & 2 & 1 & ✓ & ✓ & ✓ & & ✓ \\ C++201-6 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++201-7 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++201-8 & 2 & 1 & ✓ & ✓ & ✓ & & ✓ \\ C++202-9 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++202-10 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++202-11 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++202-12 & 2 & 1 & ✓ & ✓ & ✓ & & ✓ \\ C++202-13 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++203-14 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++203-15 & 2 & 1 & ✓ & ✓ & ✓ & ✗ & \\ C++203-16 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++203-17 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++203-18 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++203-19 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++203-20 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++203-21 & 2 & 1 & ✓ & ✓ & ✓ & ✗ & \\ C++203-22 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++203-23 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++203-24 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++204-25 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++204-26 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++204-27 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++204-28 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++204-29 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++204-30 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++204-31 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++205-32 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & \\ C++205-34 & 2 & 1 & ✓ & ✓ & ✓ & ✗ & \\ C++205-35 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++206-36 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++206-37 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✗ \\ C++206-38 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++206-39 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++206-40 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++206-41 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ C++206-42 & 2 & 1 & ✓ & ✓ & ✓ & ✓ & ✓ \\ \hline \hline \end{tabular}
\end{table} 
Table 11: Results of expert judgment for classes in C++ programming language, with assessed quality aspects, overall quality (1); source code size (2); class complexity (3); class cohesion (4) and class coupling (5); based on an evaluation using a combination of software metrics. The confusion matrix is a two dimensional matrix that summarizes the performance of a classification [55]. It consists of a predicted and true condition and divides cases into four quality aspects: true positive (TP), false positive (FP), false negative (FN) and true negative (TN).