1 Introduction

Software Engineering was firstly termed in the first NATO Software Engineering Conference to address the Software Crisis from 1960s [1]. Many projects ran behind schedule, ran over budget, caused damage, and even failed. The software crisis highlights the solutions of software reliability and quality. The software reliability and quality engineering includes software operational management techniques, such as quality evaluation, performance measurement, and project management, to support the decision activities in the software development life cycle including user requirement, analysis, design, coding, testing, implementation, improvement, and maintenance. Examples of a list of the comprehensive operational management techniques for software reliability and quality engineering were presented in [2]. The muti-criteria decision making (MCDM) is one of the essential operational management techniques.

Regarding the related studies of decision sciences in software reliability and quality measurement in JoRIE. Lavado et al. [3] used the verification tools to analyse different properties of SDNs before deployment and/or during the exploitation of the network. Palade et al. [4] presented a quantitative evaluation of four representative proposals: OpenIoT, CHOReOS, LinkSmart and UBIWARE to complement the existing qualitative studies of IoT middlewares. Corno et al. [5] conducted analysis from the qualitative and quantitative points of view the contributions of the past papers in the user involvement aspect. Maciel et al. [6] conducted a survey on reliability and availability modeling of edge, fog, and cloud computing. Laghari et al. [7] conducted a review on quality of experience in cloud computing. More examples of IE include human sensing systems [8], IOT-based systems [9], human and animal digital health platforms [10], reliable systems for artificial intelligence of things [11], point-of-interest recommendation systems for smart cites [12], medical information systems [13] and context-aware systems [14, 15].

The MCDM tools or methods for software reliability and quality measurement in reliable intelligent environment may be further explored in JoRIE. Especially, the pairwise comparisons as the methods and tools should be further included. An overview of the studies related to the pairwise comparisons such as AHP, fuzzy AHP and the other AHP hybrid models applied to software reliability and quality measurement has been offered in Sect. 2. To highlight the motivations, this paper focuses on pairwise comparisons as an initiative for the MCDM for software reliability and quality engineering in intelligent environment.

The first use of the method of pairwise comparisons may be attributed to Ramon Llull in the 13th-century [16]. Thurstone [17] further developed the pairwise comparison concept to the psychological research. Saaty [18] developed pairwise comparison based on paired ratio scale and established the popular decision models: analytic hierarchy process (AHP) [19] and analytic network process (ANP) [20]. Instead of crisp number used for the paired ratio scale in AHP, the Fuzzy AHP applies fuzzy number for the paired ratio scale for the pairwise comparison judgements. Due to the potential scale definition problems discussed in Sect. 3, this paper proposed the Cognitive Network Process (CNP) [21, 22] based on paired interval scale and Fuzzy CNP based on fuzzy interval scale [21, 23], which the approach is presented in Sect. 4 and the applicability with example is presented in Sect. 5.

The contributions of this paper are summarized as follows. In Sect. 2, comprehensive reviews are conducted for the research motivations. The reviews also include the AHP and its variant forms including FAHP that applied to the applications of reliability and quality measurement. The background and limitations of FAHP and the motivation of FCNP are presented in Sect. 3. The technical details applying FCNP to the problem domains are offered in Sect. 4. A demonstration using FCNP in comparison to the FAHP is offered in Sect. 5. Conclusion and future study highlights are presented in Sect. 6.

2 Related studies

In this section, applications based on the AHP, fuzzy AHP and Hybrid AHP in reliability and quality measurement are reviewed.

2.1 AHP applications in reliability and quality measurement

The research works below have been found for software reliability and quality measurement using the single AHP technique. Zahedi and Ashrafi [24] evaluated software reliability allocation for software and programs to maximize the user’s utility with considering on financial and technical constraints of the system. Aggarwal and Singh [25] measured software reliability apportionment. Ossadnik and Lange [26] evaluated the AHP-Software. Fahmy [27] evaluated the reliability in distributed computing environments. Sureshchandar and Leisten [28] examined the relative importance of software metrics from the standpoints of their utility towards improving business performance. Lee et al. [29] demonstrated an example for reliability optimization in high concentration photovoltaic system design. [30] modeled software reliability based on ISO/IEC SQuaRE. Kumar and Singh [31] evaluated the software attributes with respect to aspect-oriented software quality model. Srivastava et al. [32] compared smart phones with their reliability factors. Verma and Mehlawat [33] selected the commercial off-the-shelf components. [34] evaluated the reliability allocation for the subsystems of a control and monitoring system. [35] assessed the reliability of object-oriented software system. [36] selected the most suitable human reliability analysis technique for the automotive industry. [37] selected the software alternative according to its functionality. [38] evaluated the reliability of software vendors.

2.2 Fuzzy AHP in reliability and quality measurement

When the rating scale points in fuzzy number are applied to AHP, the variant form is called the fuzzy AHP. The major forms of FAHP are briefly introduced in the next section. For the FAHP applied to reliability and quality measurement, Chang et al. [39] evaluated software quality of digital video recorder systems. Yuen and Lau [40] applied fuzzy logarithmic least squares method [41, 42] for software quality assurance management. Mishra and Dubey [43] evaluated the reliability of object-oriented software system. Chatterjee et al. [44] illustrated an example for software reliability allocation. Febrero et al. [45] measured the software reliability in view of user perception. Chatterjee et al. [46] estimated the software reliability and development cost using interval type-2 fuzzy AHP. Ghunaim and Dichter [47] evaluated the reliability performance of software defect classifiers. Akbar et al. [48] prioritized the challenges of cloud-based outsourcing software development. Tong et al. [49] evaluated reliability for IoT-Based monitoring System. Neha et al. [50] measured software reliability allocation with Pythagorean FAHP. Neha et al. [51] measured the multi-objective release time problem for modular software. Upadhyay et al. [52] measured the software reliability allocation concerning operational profile.

2.3 Hybrid AHP methods in reliability and quality measurement

For the measurement applications, the AHP is usually employed with the other methods to enhance the evaluation functionalities. Sharma and Dubey [53] integrated AHP and Fuzzy TOPSIS approach to evaluate the reliability of software system. Li and Zhao [54] integrated budget constrained utility maximization, AHP and genetic algorithm to optimize the software reliability of the automatic train operating system. Anthony [55] used AHP and partial least square-structural equation modeling to evaluate and prioritize software risk factors using risk factor priority selection for software project management. Al-Zahrani [56] used fuzzy logic, ANP and TOPSIS to evaluate the usable-security of healthcare software. Garg et al. [57] developed a hybrid approach to select software reliability growth models with comparing to the AHP. Choudhary et al. [58] applied the AHP and Entropy method to evaluate software quality and reliability improvement in open environment. Verma et al. [59] introduced Neutrosophic AHP approach for budget constrained reliability allocation among modules of software system.

3 Paradoxes of AHP and fuzzy AHP

In this section, general critics for the AHP and Fuzzy AHP are reviewed. Core concepts of the AHP and fuzzy AHP are introduced, and the limitations of their rating scales are explored and discussed.

3.1 Critics

While there are increasing uses of the AHP, the method was very controversial. Examples includes reversed ranks due to the deletion of copies and the addition of criteria to differentiate alternatives [60, 61], arbitrary hierarchic composition [62,63,64], defending eighteen critics of AHP [65], conflict of the axioms of expected utility theory [66, 67], and critics for 1–9 points ratio scale in AHP [68]. [16] argued that the AHP should not be equated with pairwise comparisons.

Although the original author of AHP was strongly against the fuzzy set applied to the AHP [69, 70], different types of FAHP are widely used. Extent Analysis Method [71] is one of the most popular methods used in FAHP. However, Wang et al. [72] demonstrated some simple examples to indicate critical flaws of the EAM leading to misapplications and proposed a revised EAM in 2008. Even recently, the flaws of EAM did not get attention from the recent studies of software reliability software, e.g., [44, 48], which still used this problematic method to make conclusions.

Wang et al. [72] recommended the modified fuzzy logarithmic least squares method (LLSM) [41, 42] since there were improvements on various established fuzzy LLSM methods [73,74,75], whilst Gogus and Boucher [76] indicated that [73] and [74] in which normalized weights based on fuzzy ratio scales can exhibit an irrational ordering due to the problem of normalization procedure of these methods. Yuen and Lau [40] applied fuzzy LLSM [41, 42] for software quality assurance management. Yuen [77] pointed out fundamental mistakes for both the EAM [71] and the revised EAM [72, 78], and further proposed Membership Maximization Prioritization Method (MMPM). Whilst MMPM produces crisp outputs and modified fuzzy LLSM produces fuzzy outputs, this paper used modified fuzzy LLSM for the comparison with the proposed fuzzy CNP generating either fuzzy or crisp outputs.

3.2 Limitations of AHP rating scales

In AHP, the importance or weight of object i over the object j is defined by the ratio relationship.

$${a}_{ij}=\frac{{w}_{i}}{{w}_{j}}.$$
(1)

A crisp number is chosen from the 9 points scale, i.e., an integer from 1 to 9, for \({a}_{ij}\) to indicate the ratio relationship for a pair of objects i and j. Usually, the numbers in the scale are assigned to verbal labels shown in Table 1. Table 1 shows how the verbal labels are mathematically represented by either crisp (or single) numbers or fuzzy numbers for both the AHP and the CNP. For example, “slightly” means “2 times as much as” in the AHP. Assume that person A is 61 kg and person B is 62 kg. For the paired comparison, the syntactic (or linguistic) statement that person A was “slightly” heavier than person B would be mathematically interpreted as the semantic (or mathematical) statement that person A was two times as heavy as person B (or person A was one time heavier than person B) by applying the default setting of the AHP scale [21, 22, 79]. Such comparison exaggerates the difference between two objects: the better object is overhyped, and the worse object is underhyped. Providing that the weight of person A of 61 kg is known, the minimal weight of person B is expected to be 122 kg by the calculation based on the AHP ratio scale, i.e., the least value is 2 times. Similarly, the paired ratio scale is not appropriate for comparisons of IQs, EQs, personal heights, and a short list of competitive members.

Table 1 Rating scale schemas for AHP and CNP in crisp and fuzzy types [79]

Whilst a single number refers to a crisp number, a triangular fuzzy number refers to three numbers representing the smallest likely value, most likely value, and the largest possible value. Due to uncertainty of the exact rating value, a decision maker may feel more flexible to use fuzzy number than the crisp number in the pairwise comparison. A fuzzy number in FAHP shown in Table 1 is chosen to represent the linguistic label of dominance using fuzzy ratio scale for the relationship below.

$${\widetilde{a}}_{ij}=\frac{{\widetilde{w}}_{i}}{{\widetilde{w}}_{j}}.$$
(2)

For the case of comparison of weights, the linguistic statement is that person A was (1, 2, 3) times as heavy as person B, where (1, 2, 3) is a fuzzy triangular number of the modal value of 2 and the support interval values between 1 and 3. The crisp number may be considered as a special case of the fuzzy number, i.e. modal value. Providing that the weight of person A is known, person B is expected to be (61, 122, 183) kg by fuzzy AHP ratio scale. Obviously, the fuzzy pairwise reciprocal comparison produces misleading results, considering some simple comparison cases using fuzzy ratio scale to represent the linguistic scales.

From the cases above, either crisp or fuzzy ratio scales for pairwise comparison do not manifest the reality of the perception of linguistic comparison, and usually produce exaggerated results beyond our common sense, e.g. either magnification or minification of the human perception. As the AHP rating scale fails to reflect rater’s cognition of the difference of two objects, especially when the difference of two objects was not significant enough to be measured by times in the 1–9 point paired ratio scale schema, Yuen [21, 22, 79] proposed the use of the paired interval scale for conducting pairwise comparisons. Fuzzy Cognitive Pairwise Comparison (FCPC) is used to address this issue. FCPC is the extension applying fuzzy number to Cognitive Pairwise Comparison. For the case of weight comparison, providing that the weight of person A is known, person B may be interpretated to be (0, 1, 1.25) kg heavier than person A by Fuzzy CNP interval scale. The detail of FCPC incorporating to the FCNP is presented in the next section.

4 Fuzzy cognitive network process

The Fuzzy Cognitive Network Process mainly consists of the following steps: (1) Structure the decision problem with defining decision criteria and alternatives; (2) Compare and assess the criteria and alternatives using fuzzy cognitive pairwise comparison; (3) Compute the utility values for each criterion and alternatives using fuzzy cognitive prioritization; (4) Rank the aggregated results. The details are presented as follows.

4.1 Structuring a decision problem

Structural Assessment Network (SAN) contains a set of criteria of different levels organized in hierarchy or network structure. The SAN example showing quality evaluation for the software components with 27 ISO sub-criteria is presented in Fig. 1. The decision goal is to select the best solution. A vector of candidate alternative solutions for the decision problem \(\widehat{T}=\left({T}_{1},\dots ,{T}_{i},\dots ,{T}_{m}\right)\) are evaluated with respect to the measurable criteria and the external leaves of structural criteria. Subject to the complexity of the criteria structure, the criteria structure can be organized as a hierarchical tree structure. A vector of structured decision criteria, \(C=\left({C}_{1},\dots ,{C}_{i},\dots ,{C}_{n}\right)\), is the top-level criteria to measure the decision objective. A criterion \({C}_{i}\) is measured by aggregating a vector of its sub-level criteria \(\left({C}_{i,1},...,{C}_{i,j},...,{C}_{i,{N}_{i}}\right)\), and a sub-level criterion \({C}_{i,j}\) is aggregated by a vector of its lower level criteria \(\left({C}_{i,j,1},...,{C}_{i,j,k},...,{C}_{i,j,{N}_{i,j}}\right)\).

Fig. 1
figure 1

SAN for software vendor quality evaluation with 27 ISO sub-criteria [21]

4.2 Comparisons and assessments in fuzzy cognitive pairwise comparison

A cluster of assessment values for the measurement objects are derived from a fuzzy pairwise opposite matrix (FPOM). Fuzzy triangular number is chosen as a fuzzy set due to its popularity in fuzzy applications. Let a set of assessment values in fuzzy triangular number be \(\widehat{v} = \left\{ {\widehat{v}_{1} , \ldots ,\widehat{v}_{n} } \right\}\), where \(\widehat{v}_{i} = \left( {v_{i}^{l} ,v_{i}^{\pi } ,v_{i}^{u} } \right)\). The comparison score in fuzzy number to compare two object values is

$$ \widehat{b}_{ij} \cong \widehat{v}_{i} - \widehat{v}_{j} . $$
(3)

\(\widehat{b}_{ij}\) is a rating score drawn from the fuzzy paired interval scale shown in Table 1. A subjective judgmental FPOM using fuzzy paired interval scale is \(\widehat{B} = \left[ {\widehat{b}_{ij} } \right]\). A domain expert may be the decision maker, or the stakeholders such as software customers, designers, developers, testers, and purchasers, who are qualified to make reasonable decision in the process for a particular decision problem. The model result highly depends on how knowledgeable an engaged domain expert is. The expert only provides the rating scores in fuzzy upper triangular matrix \(\widehat{B}^{ + }\), whilst the lower triangular matrix \(\widehat{B}^{ - }\) is the opposite of \(\widehat{B}^{ + }\), and thus \(\widehat{B} = \widehat{B}^{ + } + \widehat{B}^{ - }\). For a complete comparison of a vector of candidates, FPOM requires \(\frac{n\left(n-1\right)}{2}\) ratings. The ideal FPOM is \(\widetilde{{\widehat{B}}} = \left[ {\widehat{v}_{i} - \widehat{v}_{j} } \right]\) is determined by \(\widehat{B}\) as follows:

$$\begin{aligned} \tilde{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B} }& = \left[ {\tilde{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b} }_{ij} } \right] = \left[ {\begin{array}{*{20}c} {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} } & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{2} } & \ldots & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} } \\ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{2} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} } & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{2} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{2} } & \ldots & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{2} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} } \\ \vdots & \vdots & \ddots & \vdots \\ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} } & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{2} } & \cdots & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} } \\ \end{array} } \right]\\ & \cong \left[ {\begin{array}{*{20}c} {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{11} } & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{12} } & \ldots & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{1n} } \\ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{21} } & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{22} } & \ldots & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{2n} } \\ \vdots & \vdots & \ddots & \vdots \\ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{n1} } & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{n2} } & \cdots & {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{nn} } \\ \end{array} } \right] = \left[ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{ij} } \right] = \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B} . \end{aligned} $$
(4)

\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{ij} = \left( {b_{ij}^{l} ,b_{ij}^{\pi } ,b_{ij}^{u} } \right) = - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{ji} = \left( { - b_{ji}^{u} , - b_{ji}^{\pi } , - b_{ji}^{l} } \right)\), and for \(i,j = 1, \ldots ,n\) and \(i \ne j\). If \(i = j\), then \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{b}_{ij} = \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{i} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{j} =\)\(\left(\text{0,0},0\right)\). \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}\) can be decomposed as three matrices: \({B}^{l}=\left[{b}_{ij}^{l}\right]\), \({B}^{\pi }=\left[{b}_{ij}^{\pi }\right]\), \({B}^{u}=\left[{b}_{ij}^{u}\right]\). \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}\) is validated by the Fuzzy Accordance Index, denoted by \(\overset{\lower0.5em\hbox{$\smash{\frown}$}}{AI}\) or FAI, is of the form below:

$$ \begin{aligned} \overset{\lower0.5em\hbox{$\smash{\frown}$}}{AI} &= \left( {AI^{l} } \right)^{\frac{1}{4}} \times \left( {AI^{\pi } } \right)^{\frac{1}{2}} \times \left( {AI^{u} } \right)^{\frac{1}{4}} , \hfill \\ AI^{l}& = \frac{1}{{n^{2} }}\mathop \sum \limits_{i = 1}^{n} \mathop \sum \limits_{j = 1}^{n} \delta_{ij}^{l} ,\delta_{ij}^{l} \\ &= \sqrt {Mean\left( {\left( {\frac{1}{{\kappa^{l} }}\left( {B_{i}^{l} + \left( {B_{j}^{l} } \right)^{T} - b_{ij}^{l} } \right)} \right)^{2} } \right)} , \hfill \\ AI^{\pi }& = \frac{1}{{n^{2} }}\mathop \sum \limits_{i = 1}^{n} \mathop \sum \limits_{j = 1}^{n} \delta_{ij}^{\pi } ,\delta_{ij}^{\pi } \\&= \sqrt {Mean\left( {\left( {\frac{1}{{\kappa^{\pi } }}\left( {B_{i}^{\pi } + \left( {B_{j}^{\pi } } \right)^{T} - b_{ij}^{\pi } } \right)} \right)^{2} } \right),} \hfill \\ AI^{u} &= \frac{1}{{n^{2} }}\mathop \sum \limits_{i = 1}^{n} \mathop \sum \limits_{j = 1}^{n} \delta_{ij}^{u} ,\delta_{ij}^{u} \\&= \sqrt {Mean\left( {\left( {\frac{1}{{\kappa^{\pi } }}\left( {B_{i}^{u} + \left( {B_{j}^{u} } \right)^{T} - b_{ij}^{\pi } } \right)} \right)^{2} } \right)} . \hfill \\ \end{aligned} $$
(5)

By default, the fuzzy normal utility (FNU) is of the form below.

$$ \begin{aligned}\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } &= \left( {\kappa^{l} ,\kappa^{\pi } ,\kappa^{u} } \right) = \left( {Max\left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{X}_{\aleph }^{\pi } } \right) - \delta ,Max\left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{X}_{\aleph }^{\pi } } \right),}\right. \\ & \quad \left.{Max\left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{X}_{\aleph }^{\pi } } \right) + \delta } \right).\end{aligned} $$
(6)

\(\delta \) is the average of the modal values of two adjacent atomic terms, and \(\overline{X}_{\aleph }^{\pi }\) is the set of the modal values from \(\overline{X}_{\aleph }\). \(\overset{\lower0.5em\hbox{$\smash{\frown}$}}{AI}\) is the normalized weighted geometric mean of \(\left(A{I}^{l},A{I}^{\pi },A{I}^{u}\right)\), and \(\overset{\lower0.5em\hbox{$\smash{\frown}$}}{AI} \ge 0\). If \(\overset{\lower0.5em\hbox{$\smash{\frown}$}}{AI} = 0\), then \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}\) is perfectly accordant; If \(0 < \overset{\lower0.5em\hbox{$\smash{\frown}$}}{AI} \le 0.1\), \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}\) is satisfactory. If \(\overset{\lower0.5em\hbox{$\smash{\frown}$}}{AI} > 0.1\), \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}\) may require revision. The definitions are merely based on the error tolerance that a decision maker can accept. It looks that there is a lack of statistical theory to provide generally acceptable results.

4.3 Fuzzy cognitive prioritization

After FPOMs are formed, the fuzzy utilities can be computed from each FPOM by a fuzzy cognitive prioritization operator (FCPO). To extend the crisp forms of primitive least squares (PLS) (or row average plus the normal utility (RAU)) and least penalty squares (LPS) in [21, 22], two fuzzy cognitive prioritization operators [21, 23] are proposed.

The Fuzzy Primitive Least Squares (FPLS) optimization model of the form below produces a vector of fuzzy individual utilities, \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{V} = \left\{ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} , \ldots ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} } \right\}\), where \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{i} = \left( {v_{i}^{l} ,v_{i}^{\pi } ,v_{i}^{u} } \right)\).

$$ \begin{gathered} \min \quad \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\Delta } = \mathop \sum \limits_{i = 1}^{n} \mathop \sum \limits_{j = i + 1}^{n} \left[ {\begin{array}{*{20}c} {\left( {b_{ij}^{l} - v_{i}^{l} + v_{j}^{l} } \right)^{2} + } \\ {\left( {b_{ij}^{\pi } - v_{i}^{\pi } + v_{j}^{\pi } } \right)^{2} + \left( {b_{ij}^{u} - v_{i}^{u} + v_{j}^{u} } \right)^{2} } \\ \end{array} } \right], \hfill \\ s.t.\quad \mathop \sum \limits_{i = 1}^{n} v_{i}^{l} = n\kappa^{l} , \hfill \\ \qquad\quad\mathop \sum \limits_{i = 1}^{n} v_{i}^{\pi } = n\kappa^{\pi } , \hfill \\ \qquad\quad\mathop \sum \limits_{i = 1}^{n} v_{i}^{u} = n\kappa^{u} . \hfill \\ \end{gathered} $$
(7)

\(n = \left| {\left\{ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{i} } \right\}} \right|\) is a cardinal number of the fuzzy utility vector. \(\left( {b_{ij}^{l} ,b_{ij}^{\pi } ,b_{ij}^{u} } \right) \in \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}\) is a fuzzy entry of \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}\), \(n\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } = \left( {n\kappa^{l} ,n\kappa^{\pi } ,n\kappa^{u} } \right)\) is the fuzzy population utility, and \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } = \left( {\kappa^{l} ,\kappa^{\pi } ,\kappa^{u} } \right)\) is the fuzzy normal utility. The closed-form solution of FPLS is the Fuzzy Row Average plus the normal Utility (FRAU) of the form below.

$$ FRAU\left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B} ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } } \right) = \left[ {\left( {v_{i}^{l} ,v_{i}^{\pi } ,v_{i}^{u} } \right)|\left( {\begin{array}{*{20}c} {v_{i}^{l} = \left( {\frac{1}{n}\left( {\mathop \sum \limits_{j = 1}^{i} b_{ij}^{u} + \mathop \sum \limits_{j = i + 1}^{n} b_{ij}^{l} } \right)} \right) + \kappa^{l} } \\ {v_{i}^{\pi } = \left( {\frac{1}{n}\mathop \sum \limits_{j = 1}^{n} b_{ij}^{\pi } } \right) + \kappa^{\pi } } \\ {v_{i}^{u} = \left( {\frac{1}{n}\left( {\mathop \sum \limits_{j = 1}^{i} b_{ij}^{l} + \mathop \sum \limits_{j = i + 1}^{n} b_{ij}^{u} } \right)} \right) + \kappa^{u} } \\ \end{array} } \right),\quad \forall i \in \left\{ {1, \ldots ,n} \right\}} \right] $$
(8)

Regarding the Fuzzy Least Penalty Squares (FLPS) operator, the vector of the individual utilities can be derived as follows.

$$ \begin{gathered} FLPS\left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}^{ + } ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } } \right) = \min \quad \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\Delta } = \mathop \sum \limits_{i = 1}^{n} \mathop \sum \limits_{j = i + 1}^{n} \left[ {\beta_{ij}^{l} \cdot \left( {b_{ij}^{l} - v_{i}^{l} + v_{j}^{l} } \right)^{2} + } \right.\beta_{ij}^{\pi } \cdot \left( {b_{ij}^{\pi } - v_{i}^{\pi } + v_{j}^{\pi } } \right)^{2} \left. { + \beta_{ij}^{u} \cdot \left( {b_{ij}^{u} - v_{i}^{u} + v_{j}^{u} } \right)^{2} } \right] \hfill \\ \qquad\qquad\qquad\qquad\qquad\qquad\qquad\beta_{ij}^{l} = \left\{ {\begin{array}{*{20}c} {\beta_{1} ,\quad v_{i}^{l} > v_{j}^{l} \& \quad b_{ij}^{l} > 0} \\ { or\quad v_{i}^{l} < v_{j}^{l} \& \quad b_{ij}^{l} < 0} \\ {\begin{array}{*{20}c} {\beta_{2} ,\quad v_{i}^{l} = v_{j}^{l} \quad b_{ij}^{l} \ne 0} \\ {or\quad v_{i}^{l} \ne v_{j}^{l} \quad b_{ij}^{l} = 0} \\ \end{array} } \\ {\beta_{3} ,\quad otherwise} \\ \end{array} } \right.; \beta_{ij}^{\pi } = \left\{ {\begin{array}{*{20}c} {\beta_{1} ,\quad v_{i}^{\pi } > v_{j}^{\pi } \& \quad b_{ij}^{\pi } > 0} \\ { or \quad v_{i}^{\pi } < v_{j}^{\pi } \& \quad b_{ij}^{\pi } < 0} \\ {\begin{array}{*{20}c} {\beta_{2} ,\quad v_{i}^{\pi } = v_{j}^{\pi } \quad b_{ij}^{\pi } \ne 0} \\ { or\quad v_{i}^{\pi } \ne v_{j}^{\pi } \quad b_{ij}^{\pi } = 0} \\ \end{array} } \\ {\beta_{3} ,\quad otherwise} \\ \end{array} } \right. \hfill \\ \qquad\qquad\qquad\qquad\qquad\qquad\qquad\beta_{ij}^{u} = \left\{ {\begin{array}{*{20}c} {\beta_{1} ,\quad v_{i}^{u} > v_{j}^{u} \& \quad b_{ij}^{u} > 0} \\ {{\text{or }}\quad v_{i}^{u} < v_{j}^{u} \& \quad b_{ij}^{u} < 0} \\ {\begin{array}{*{20}c} {\beta_{2} ,\quad v_{i}^{u} = v_{j}^{u} \quad b_{ij}^{u} \ne 0} \\ {{\text{ or}}\quad v_{i}^{u} \ne v_{j}^{u} \quad b_{ij}^{u} = 0} \\ \end{array} } \\ {\beta_{3} ,\quad otherwise} \\ \end{array} } \right. \hfill \\ s.t. \mathop \sum \limits_{i = 1}^{n} v_{i}^{l} = n\kappa^{l} \hfill \\ \qquad\mathop \sum \limits_{i = 1}^{n} v_{i}^{\pi } = n\kappa^{\pi } \hfill \\ \qquad\mathop \sum \limits_{i = 1}^{n} v_{i}^{u} = n\kappa^{u} \hfill \\ \qquad v_{i}^{l} ,v_{i}^{\pi } ,v_{i}^{u} \ge 0,\quad i = 1,2, \ldots ,n. \hfill \\ \end{gathered} $$
(9)

If \(FAI \le 0.1\), FRAU is recommended since FRAU produces the same or very closed result as FLPS, as FAI is very low, and its computational effort is the least. In terms of the approximate accuracy of the discordant matrix with more contradiction, FLPS is preferable since it minimizes the sum of the multiplications of the contradiction and distance errors.

\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{V}\) can be normalized \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W} = \left\{ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{1} , \ldots ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{i} , \ldots ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{n} } \right\}\), where \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{i} = \left( {w_{i}^{l} ,w_{i}^{\pi } ,w_{i}^{u} } \right)\), such that \(\mathop \sum \limits_{i = 1}^{n} w_{i}^{\pi } = 1\). \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W}\) is called the fuzzy priority vector (or fuzzy normalized weight vector). The fuzzy rescale function, or the normalization function, is of the form below.

$$ \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W} = \left\{ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{i} = \left( {w_{i}^{l} ,w_{i}^{\pi } ,w_{i}^{u} } \right): \left( {w_{i}^{l} ,w_{i}^{\pi } ,w_{i}^{u} } \right) = \left( {\frac{{v_{i}^{l} }}{{n\kappa^{\pi } }},\frac{{v_{i}^{\pi } }}{{n\kappa^{\pi } }},\frac{{v_{i}^{u} }}{{n\kappa^{\pi } }}} \right),\quad \forall i \in \left\{ {1, \ldots ,n} \right\}} \right\}, \mathop \sum \limits_{{i \in \left\{ {1, \ldots ,n} \right\}}} v_{i}^{\pi } = n\kappa^{\pi } and \kappa^{\pi } = Max\left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{X}_{\aleph } } \right) $$
(10)

Table 4 is an example that shows the FPOM which is transformed to \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W}\) by the normalized result with Eq. (10) from the prioritization result from Eq. (9), and the FAI value is computed by Eq. (5).

4.4 Fuzzy aggregation and ranking

A fuzzy decision matrix shown in Table 2 comprises a matrix of fuzzy individual utility, \(\left\{ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{kj} } \right\} = \left\{ {\left( {v_{kj}^{l} ,v_{kj}^{\pi } ,v_{kj}^{u} } \right)} \right\}\), with respect to a vector of alternatives, \(T=\left\{{T}_{k},\dots ,{T}_{k},\dots ,{T}_{m}\right\}\), and a vector of top level of criteria, \(C=\left({C}_{1},\dots ,{C}_{i},\dots ,{C}_{n}\right)\), associated with a vector of weights, \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{V} = \left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{1} , \ldots ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{j} , \ldots ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{n} } \right)\). A fuzzy individual utility \(\left({v}_{kj}^{l},{v}_{kj}^{\pi },{v}_{kj}^{u}\right)\) is in a triangular fuzzy number for individual utility of an alternative \({T}_{k}\), \(k=1,\dots ,m\) with respect to a criterion \({C}_{j}\), \(j=1,\dots ,n\). A normalized fuzzy triangular weight, \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{v}_{j} = \left( {v_{j}^{l} ,v_{j}^{\pi } ,v_{j}^{u} } \right)\), is assigned to a criterion \({C}_{j}\), \(j=1,\dots ,n\). Fuzzy arithmetic mean (FAM) below is chosen as default aggregation operator since it is used by most decision models due to its computational efficiency and comprehensive simplicity.

$$\begin{aligned}& \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{V}_{{T_{k} }} = \left\{ {\left( {v_{{T_{k} }}^{l} ,v_{{T_{k} }}^{\pi } ,v_{{T_{k} }}^{u} } \right):\left( {\begin{array}{*{20}c} {v_{{T_{k} }}^{l} = \frac{1}{n}\mathop \sum \limits_{j = 1}^{m} v_{kj}^{l} v_{j}^{l} } \\ {v_{{T_{k} }}^{\pi } = \frac{1}{n}\mathop \sum \limits_{j = 1}^{n} v_{kj}^{\pi } v_{j}^{\pi } } \\ {v_{{T_{k} }}^{u} = \frac{1}{n}\mathop \sum \limits_{j = 1}^{m} v_{kj}^{u} v_{j}^{u} } \\ \end{array} } \right)} \right\},\\ &\quad k = 1, \ldots ,m.\end{aligned} $$
(11)
Table 2 A fuzzy decision matrix with fuzzy aggregated utilities [21, 79]

By comparing \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{V}_{{T_{k} }} , k = 1, \ldots ,m\), the best decision from the fuzzy aggregation results is selected. An example is shown in Table 17, how Fuzzy decision matrix is aggregated and ranked by Eq. (11).

5 Application

Yuen and Lau [40] applied the modified Fuzzy Logarithmic Least Squares Method (FLLSM) [41, 42] for software quality assurance management based on group decision making. Yuen [80] proposed the primitive cognitive network process to evaluate vendor’s software component quality with six top level criteria in ISO/IEC 9126. Yuen [81] proposed a hybrid system including FCNP [23], Quality Function Deployment (QFD) and aggregative grading clustering for cloud software product development. Yuen proposed CNP for forward feature selection with deep learning for astronomical object classification with Sloan Digital Sky Survey [82]. For this study, the FCNP presented in Sect. 4 is applied and demonstrated, with comparison to the FAHP based on the modified FLLSM in [41, 42] for the case of evaluating reliability and quality of software components using ISO/IEC9126-1:2001. This application is essentially derived in part and further extended from the case presented in author’s PhD thesis [21].

5.1 Fuzzy CNP approach

5.1.1 Step 1: structuring a decision problem

A company designed and manufactured Smartphones including hardware and software research and development. The company was planning to develop a smartphone model. The company would like to add one software component into its new product among three alternatives \({T}_{1}\), \({T}_{2}\), \({T}_{3}\) with respect to the six ISO criteria of 27 sub-criteria (ISO/IEC9126-1: 2001) [83] in Fig. 1. The fuzzy rating scale using triangular fuzzy numbers is defined in Table 3. Scale for forward comparison means the number that object A is better than object B, whilst scale for backward comparison means the number that object A is worse than object B, or object B is better than object A. The fuzzy number is slightly modified from the template in Table 1. The fuzzy ratio scale is based on the definition in Eq. (2), whilst fuzzy paired interval scale is based on the definition in Eq. (3). Whilst diverse software can be used to implement the functions in this paper, Wolfram Mathematica software is used for the calculation in this paper, especially to solve the optimization model in Eq. (9).

Table 3 Scale Schemas for fuzzy interval scale of FCNP and fuzzy ratio scale of FAHP

5.1.2 Steps 2 & 3: Comparisons, assessments and prioritization

The evaluation initially was based on FAHP scale, which can be converted to FCNP scale by the conversion scale schema showing in Table 3, which represents two different views for the same comparison verbal labels and notations: fuzzy paired ratio or interval scales. For the top level, the fuzzy pairwise opposite matrix (\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{0}\)) and the normalized fuzzy weights for the six software quality criteria, functionality (\({C}_{1}\)), reliability (\({C}_{2}\)), usability (\({C}_{3}\)), efficiency (\({C}_{4}\)), maintainability (\({C}_{5}\)) and portability (\({C}_{6}\)), are shown in Table 4. The general form of FPOM is defined in Eq. (4). The Fuzzy Accordance Index for the top-level criteria is 0.427, which is computed by Eq. (5). Two methods can be used for prioritization to compute the fuzzy weights: one is the FRAU of Eq. (8) (a closed form of FPLS of Eq. 7), and another is the FLPS of Eq. (9). Since the FAI of 0.427 is quite higher than the recommended value of 0.1, FLPS is recommended to compute the fuzzy weight vector \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W}\), which is shown in Table 4. After prioritization, the preference order is \({C}_{1}\ge {C}_{2}\ge {C}_{3}\ge {C}_{4}\ge {C}_{6}\ge {C}_{5}\). Functionality (\({C}_{1}\)) has the highest fuzzy weight.

Table 4 FPOM and fuzzy weights for six criteria (FAI = 0.427)

For the middle level, The FPOMs and their fuzzy importance for the sub-criteria under \(C_{1}\) to \(C_{6}\) and the fuzzy weights are presented in Tables 5, 6, 7, 8, 9, 10 respectively. As the FAIs for all FPOMs are high, FLPS of Eq. (9) is used for the prioritization. Table 5 shows the FPOM (\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{1}\)) and the normalized fuzzy weights for the five sub-criteria of functionality: suitability (\({C}_{11}\)), accuracy (\({C}_{12}\)), interoperability (\({C}_{13}\)), security (\({C}_{14}\)) and functionality compliance (\({C}_{15}\)). The preference order is \({C}_{15}\ge {C}_{14}\ge {C}_{13}\ge {C}_{11}\ge {C}_{12}\), which functionality compliance (\({C}_{15}\)) is of the highest weight and the accuracy weight is the lowest. Table 6 shows the FPOM (\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{2}\)) and the normalized fuzzy weights for the four sub-criteria of reliability: maturity \(\left({C}_{21}\right)\), recoverability \(\left({C}_{22}\right)\), fault tolerance \(\left({C}_{23}\right)\), and reliability compliance \(\left({C}_{24}\right)\). After prioritization of FPOM to yield the fuzzy weights, the preference order is \({C}_{24}\ge {C}_{21}\ge {C}_{22}\ge {C}_{23}\).

Table 5 FPOM and fuzzy weights for five subcriteria of functionality (FAI = 0.226)
Table 6 FPOM and fuzzy weights for four subcriteria of reliability (FAI = 0.112)
Table 7 FPOM and fuzzy weights for five subcriteria of usability (FAI = 0.222)
Table 8 FPOM and fuzzy weights for three subcriteria of efficiency (FAI = 0)
Table 9 FPOM and fuzzy weights for five subcriteria of maintainability (FAI = 0.218)
Table 10 FPOM and fuzzy weights for the fuzzy importance of five subcriteria of portability (FAI = 0.213)

Table 7 shows the FPOM (\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{3}\)) and \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W}\) for the five sub-criteria of usability: understandability \(\left({C}_{31}\right)\), learnability \(\left({C}_{32}\right)\), operability \(\left({C}_{33}\right)\), attractiveness \(\left({C}_{34}\right)\), usability compliance \(\left({C}_{35}\right)\). The preference order is \({C}_{35}\ge {C}_{31}\ge {C}_{34}\ge {C}_{32}\ge {C}_{33}\) after prioritization of the evaluation inputs. Table 8 exhibits the FPOM (\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{4}\)) and \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W}\) for the three sub-criteria of efficiency: time behavior \(\left({C}_{41}\right)\), resource behavior \(\left({C}_{42}\right)\), efficiency compliance \(\left({C}_{43}\right)\). The preference order is \({C}_{43}\ge {C}_{41}\ge {C}_{42}\).

Table 9 illustrates the FPOM (\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{5}\)) and \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W}\) for the five sub-criteria of maintainability: analyzability \(\left({C}_{51}\right)\), changeability \(\left({C}_{52}\right)\), stability \(\left({C}_{53}\right)\), testability \(\left({C}_{54}\right)\), maintainability compliance \(\left({C}_{55}\right)\). The rank based on the prioritization weights is \({C}_{55}\ge {C}_{54}\ge {C}_{53}\ge {C}_{51}\ge {C}_{52}\). Table 10 shows the FPOM (\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{6}\)) and \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{W}\) for the five sub-criteria of portability: adaptability \(\left({C}_{61}\right)\), installability \(\left({C}_{62}\right)\), co-existence \(\left({C}_{63}\right)\), replaceability \(\left({C}_{64}\right)\) and portability compliance \(\left({C}_{65}\right)\). The rank is \({C}_{65}\ge {C}_{64}\ge {C}_{63}\ge {C}_{61}\ge {C}_{62}\). The subcriteria indices of \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{5}\) and \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{B}_{6}\) have the same rank due to slightly different fuzzy weights from almost the same FPOM values but one different entry shown in Tables 9, 10.

For the lowest level, the decision makers evaluate and compare the three candidates, \({T}_{1}\), \({T}_{2}\), \({T}_{3}\), for all 27-software quality subcriteria of six top criteria respectively. The pairwise comparisons among the three candidates under each sub-quality criterion, FAI values and derived fuzzy weights are presented in Tables 11, 12, 13, 14, 15 and 16. Similarly, for fuzzy cognitive prioritization in this case, the FRAU method is not recommended and the FLPS method is selected due to the relatively high FAI value, or high discordance. The fuzzy weights for the six quality attributes comprising 27 sub-criteria are computed by the FLPS shown in Eq. (9).

Table 11 FPOMs and fuzzy weights for three candidates with respect to subcriteria of functionality \({C}_{1}\)

Table 11 shows the FPOMs and fuzzy weights for three candidates with respect to five subcriteria of functionality. Alternative 2 has the highest weights of accuracy (\({C}_{12}\)), interoperability (\({C}_{13}\)), security (\({C}_{14}\)), whilst Alternative 3 has the highest weights of suitability (\({C}_{11}\)). Alternatives 1 and 3 have the almost equal rank for functionality compliance (\({C}_{15}\)). Table 12 shows the FPOMs and fuzzy weights for three candidates with respect to subcriteria of reliability. Alternative 1 has the highest weight of fault tolerance\(\left({C}_{23}\right)\), and the slightly higher fuzzy weights of recoverability \(\left({C}_{22}\right)\) and reliability compliance \(\left({C}_{24}\right)\) than the others. Alternative 2 has the highest fuzzy weights of maturity\(\left({C}_{21}\right)\).

Table 12 FPOMs and fuzzy weights for three candidates with respect to subcriteria of reliability (\({C}_{2}\))

Table 13 presents the FPOMs and fuzzy weights for three candidates with respect to subcriteria of usability. Alternative 1 has the highest weights of understandability \(\left({C}_{31}\right)\), learnability \(\left({C}_{32}\right)\), operability \(\left({C}_{33}\right)\), and attractiveness \(\left({C}_{34}\right)\). Alternative 2 has the highest weights of usability compliance \(\left({C}_{35}\right)\). Table 14 illustrates the FPOMs and fuzzy weights for three candidates with respect to subcriteria of efficiency. Alternative 1 has the highest weights of time behavior \(\left({C}_{41}\right)\). Alternative 3 has the highest weights of efficiency compliance \(\left({C}_{43}\right)\). All alternatives have the same weight of resource behavior \(\left({C}_{42}\right)\).

Table 13 FPOMs and fuzzy weights for three candidates with respect to subcriteria of usability (\({C}_{3}\))
Table 14 FPOMs and fuzzy weights for three candidates with respect to subcriteria of efficiency (\({C}_{4}\))

Table 15 presents the FPOMs and fuzzy weights for three candidates with respect to subcriteria of maintainability. Alternative 1 has the highest weights of analyzability \(\left({C}_{51}\right)\). Alternative 2 has the highest weights of stability \(\left({C}_{53}\right)\) and testability \(\left({C}_{54}\right)\). All alternatives have the same weights of changeability \(\left({C}_{52}\right)\) and maintainability compliance \(\left({C}_{55}\right)\). Table 16 presents the FPOMs and fuzzy weights for three candidates with respect to subcriteria of portability. Alternative 1 has the highest weights of replaceability \(\left({C}_{64}\right)\), and Alternative 2 has the highest weights of adaptability \(\left({C}_{61}\right)\), co-existence \(\left({C}_{63}\right)\) and portability compliance \(\left({C}_{65}\right)\). All alternatives have almost the same fuzzy weights of installability \(\left({C}_{62}\right)\).

Table 15 FPOMs and fuzzy weights for three candidates with respect to subcriteria of maintainability (\({C}_{5}\))
Table 16 FPOMs and fuzzy weights for three candidates with respect to subcriteria of portability (\({C}_{6}\))

5.1.3 Step 4: fuzzy aggregation and ranking

As different alternatives have different relative strengths and weaknesses in the software criteria of different weights, a synthesis method produces the final rank is needed. The fuzzy utilities/weights of each level of criteria derived from the FROM prioritizations in previous steps are aggregated by fuzzy weighted arithmetic mean (Eq. 11), and the final fuzzy weights of the three candidates are determined. The details are presented in Table 17. The final fuzzy triangular set results are visualized in Fig. 2. The fuzzy support interval of \({T}_{1}\) embraces the support intervals of \({T}_{2}\) and \({T}_{3}\). By comparing the modal values of the output fuzzy sets, \({T}_{2}\) is the best alternative, followed by \({T}_{1}\) and \({T}_{3}\). By comparing the upper boundary values, the rank order is \({T}_{1}\)>\({T}_{2}\)>\({T}_{3}\). By comparing the lower boundary values, the rank is \({T}_{2}\)>\({T}_{3}\)>\({T}_{1}\). The rank \({T}_{2}\)>\({T}_{1}\)>\({T}_{3}\) is selected as the modal value of the fuzzy set may be relatively more important than the support interval values. The confidence level is very low due to the high overlap of support interval region. The centroid defuzzification, the mean of three values in fuzzy triangular number, produces the same rank as the modal value selection.

Table 17 Fuzzy decision matrix and aggregation results using FCNP
Fig. 2
figure 2

Aggregated fuzzy weights using FCNP with \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } = \left( {3.5,4,4.5} \right)\)

5.2 Fuzzy AHP approach

Based on the decision problem described in Sect. 5.1, the experts have compared the three candidates, \({T}_{1}\), \({T}_{2}\), \({T}_{3}\), with the two levels of criteria. The Fuzzy Pairwise Reciprocal Matrices (FPRMs) are formed by applying fuzzy rating scores in Table 3 to the pairwise comparison matrices shown in Tables 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16. The fuzzy relative importance of the six quality attributes comprised of 27 subcriteria, is computed by modified FLLSM [41, 42]. The fuzzy weights from prioritization of FPRMs are aggregated by fuzzy weighted arithmetic mean (Eq. 11). Fuzzy decision matrix and aggregation results are shown in Table 18. The fuzzy aggregated results are visualized Fig. 3. It is clear that \({T}_{2}\) is the best alternative, followed by \({T}_{1}\) and \({T}_{3}\).

Table 18 Fuzzy decision matrix and aggregation results using FAHP
Fig. 3
figure 3

Final fuzzy weights using FAHP

5.3 Discussions

Both methods use the same scale labels, but different fuzzy representation values shown in Table 3 due to the different axioms for the pairwise comparisons. The rank for the fuzzy result of FAHP is clear, i.e. \({T}_{2}\)>\({T}_{1}\)>\({T}_{3}\) on the basis of their support intervals and modal values shown in Fig. 3. The main reason is that the paired ratio scale significantly enlarges the difference. On the other hand, the FCNP result is on a case-by-case basis. It can be observed that the support interval of \({T}_{1}\) embraces the support intervals of \({T}_{2}\) and \({T}_{3}\) in Fig. 2.

The FCNP can be used for the decision attitudes. For a pessimist decision, low-boundary values are applied, and then the rank is \({T}_{2}\)>\({T}_{3}\)>\({T}_{1}\). For an optimist decision, up-boundary values are applied, and then the rank is \({T}_{1}\)>\({T}_{2}\)>\({T}_{3}\). For a neutral decision, modal values are applied, and then the rank is \({T}_{2}\)>\({T}_{1}\)>\({T}_{3}\). By default, neutral one is applied, as the modal values of the fuzzy results of FCNP are a special case of CNP. Centroid defuzzification may be applied to determine the final rank. The advantage of judgment in fuzzy numbers is for exploring the ranges of the results associated with the decision attitudes.

The values of fuzzy accordant indices of the most FPOMs are high in this case. The main issue is that the FPOMs are directly converted from FPRMs using the conversion schema shown in Table 3. Whilst there are a lot of studies using FAHP, the demonstration shows the steps how the FAHP data is converted to and compared with FCNP. The fuzzy accordant index (FAI) is an essential reference for the validity of the FCNP model. This discussion result is crucial to future applications and development using FCNP.

The support interval of the fuzzy weights of FCNP is larger than FAHP. The range of the interval is related to the design of a fuzzy individual utility \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa }\). If the interval of \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa }\) is reduced, i.e., \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } = \left( {3.75, 4, 4.25} \right)\) in this case, the ranges of final fuzzy outputs become narrower, which are shown in Fig. 4. However, if \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa }\) is excessively small, for example, the \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa }\) modal value is less than the modal value of the maximum of fuzzy scale, the fuzzy utility vector is likely to produce negative results. This situation is also applied to the support interval values. In contrast, if \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa }\) is excessively large, the intervals of the final fuzzy outputs become large accordingly. Users should pay attention to a reasonable setting for \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa }\) value, especially \(\delta \) defined in Eq. (6).

Fig. 4
figure 4

Fingal fuzzy weights using FCNP with \(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\kappa } = \left( {3.75,4,4.25} \right)\)

For the limitation of this application, the case derived from [21] is based on the ISO/IEC 9126:2001 for comparison. Although the demonstration of applying FCNP to the ISO/IEC 9126:2001 is feasible, the ISO/IEC 9126:2001 standard was replaced ISO/IEC 25010:2011 (Systems and software Quality Requirements and Evaluation (SQuaRE): System and software quality models) [84], which was further replaced by ISO/IEC 25010:2023 (SQuaRE: Product quality model) [85], ISO/IEC 25019:2023 (SQuaRE: Quality-in-use model) [86], and ISO/IEC 25002:2024 (SQuaRE: Quality model overview and usage) [87]. This illustration has established an initiative for the future motivations which may apply the FCNP and the new ISO/IEC quality models for diverse quality decision applications.

6 Conclusions and future studies

Whilst AHP and its hybrid forms including FAHP are widely applied as one of promising software reliability and quality evaluation techniques, this research reviewed their potential pitfalls leading to misapplications, especially the inappropriateness of the perception of paired ratio scale. This research proposed the FCNP as the promising alternative for the researchers and partitioners. The FCNP is the method applied the triangular fuzzy number for the paired interval scale in the CNP model. The advantage of the triangular fuzzy number may have the promising capabilities to handle uncertainty calculation as the modal and interval support values may reflect different levels of decision attitudes, i.e., pessimistic, neutral and optimistic. Based on six criteria consisting of 27 subcriteria adopted from ISO/IEC9126 for the software quality measurement, a case study for software quality evaluation to select the best software component under uncertainty is demonstrated for the advantages of FCNP over FAHP. The proposed FCNP is a valuable technique for the software reliability and quality measurement, especially the ideal alternative for those applications already applying the AHP mentioned in the literature.

Future studies for reliable intelligent environment development with the FCNP could be in diverse ways. The FCNP could be applied to the prioritization, ranking and selection issues in diverse IE areas, such as human sensing systems [8], IOT-based systems [9], human and animal digital health platforms [10], reliable systems for artificial intelligence of things [11], point-of-interest recommendation systems for smart cites [12], medical information systems [13] and context-aware systems [14, 15]. The intelligent environment includes large scale sensor or actuator networks, middleware, communication protocols, location or positioning methods, artificial intelligence techniques, and smart applications with respect to high levels of reliability, performance, usability, security, and many other quality properties, which are usually entangled [88]. Whilst increasing the levels of some quality attributes results in decreasing the levels of the others, trade-offs of different decision problems must be continuously evaluated to make the best decisions during the IE development life cycle. Whilst the software system becomes more and more complicated nowadays and the software quality models are regularly updating, the decision tools including the FCNP can be the promising tool to be applied to address these issues.