Prioritizing interdependent software requirements using tensor and fuzzy graphs

: Owing to the special stance of prioritizing tasks in requirements engineering processes, and as the requirements are not independent in nature, considering their dependencies is essential during the prioritizing process. Although different classifications of dependency types among requirements exist, only a few approaches in the prioritization process consider such valuable data (dependency among requirements). To achieve a practical prioritization, this study proposes a method based on the effects of the requirement dependencies (increase/decrease cost of) on the value of prioritization provided by the tensor concept. Since the strengths of dependencies are also influential factors in the act of prioritization, the algebraic structure of fuzzy graphs is used to model the requirement dependencies and their strengths. Moreover, a weighted page rank algorithm based on the fuzzy concept is provided to determine the final dependency strength of the dependent requirements of the fuzzy graph. To evaluate the proposed approach, a controlled experiment is also conducted. The proposed approach is compared with an analytic hierarchy process-based approach, TOPSIS, and EVOLVE in the experiment. The results analysis demonstrates that our approach is less time-consuming, much easier to use, and highly accurate.


Introduction
Due to limited resources and frequent releases in mobile application systems, prioritization of requirements is a key process [1]. Prioritizing refers to making a balance between the benefits of a business and other parameters such as cost involved [2], but considering this process from such diverse commercial and technical aspects can be a challenging issue for stakeholders [3][4][5][6]. Consequently, several techniques have been developed to provide requirements prioritization, among which are the analytic hierarchy process (AHP) [3,7], cost-value analysis [8,9], the multidimensional approach [10], and the technique of ordered preference by similarity to ideal solution (TOPSIS) [11]. In the AHP [12] the process can be divided into four steps: S1) decomposing the structure of the problem into a hierarchy of elements, S2) comparing all possible pairs of the attributes of decision elements based on their importance value to form a reciprocal matrix (usually a nine-point scale with 1 representing equal importance and 9 representing absolutely more importance is used), S3) calculating the weights and priorities of the elements, and S4) calculating the consistency ratios.
Based on the tensor concept, the multidimensional approach [10] provides a prioritization technique and takes the simultaneous relations among the requirements and stakeholders into account using this tensor * Correspondence: motameni@iausari.ac.ir This work is licensed under a Creative Commons Attribution 4.0 International License.
modeling. Tucker decomposition of the tensor is also used in this approach to provide the final ranking of the requirements. This approach is based on the concept of revealing latent relations among the entities simultaneously. Each entity forms a dimension. By applying multiway analysis, an appropriate ordered list of requirements will be obtained. TOPSIS was first provided by Hwang and Yoon [11], and it evaluates the alternatives simultaneously based on two main criteria types: cost (in which less is better) and benefit (in which more is better). The criteria of the problem were divided into these two main types and received a related weight. Two positive and negative ideal solutions or alternatives were created to measure the distance of the alternatives. Therefore, an alternative closer to the positive ideal alternative and farther away from the negative ideal alternative received a higher rank.
It should be indicated that when there are no dependencies among the requirements, these techniques could provide the prioritized list according to the available resources and their related parameters. However, the fact that approximately 20% of all requirements are independent creates a situation that is nowhere near the ideal [8]. Thus, dependency is a critical factor when considering prioritizing the requirements, which becomes even more challenging when the requirement scale increases in number and when the stakeholders are forced to prioritize their requirements not only from personal preferences but from requirement dependencies [6]. With these points in mind, the task is challenging in providing an effective prioritizing technique that can satisfy the needs of the stakeholders and the requirements dependencies. In addition, as value-related requirement dependencies can have different strengths that can be classified accordingly [13] as weak, moderate, and strong [14], taking into account these value-related requirement dependencies and the existence of them are critical steps during the process of prioritizing the requirements. Accordingly, in this study, we have considered the "increase/decrease cost of" dependency type during requirements prioritization and we propose an approach by combining link analysis and the tensor concept to prioritize dependent requirements. First, by the algebraic structure of fuzzy graphs, we model requirement dependencies and their strengths [15], and we propose a weighted page rank algorithm on the basis of the fuzzy graphs to compute the final strength in each requirement dependency. We have investigate the results with the primary order provided by the tensor concept to produce the final prioritization order of the requirements. Accordingly, Section 2 provides a summary of the related literature, and in Section 3, necessary background knowledge on tensor algebra and fuzzy graphs is considered. Section 4 proposes the approach with a step-by-step presentation through an example, and in Section 5, a controlled experiment is depicted. Sections 6 and 7 cover the discussion of the results and the conclusion, respectively.

Related works
Several studies investigated requirements prioritization [6,16,17] and focused on several issues such as dependency, scalability, and rank update that scholars face during the process of techniques to tackle requirements prioritization. Furthermore, types of dependencies have been classified as refinement, contribution, and conflict relations in GORE and i* [18,19] by Pohl [4] and Dahlstedt and Persson [20]. Zhang et al. [21] divided dependencies into "increase/decrease" value and cost along with business-related relations such as "precedence and concurrence dependencies". Although requirements dependencies are important factors in the prioritization process and the final ordered results [21,22], dependencies between and among the requirements is a less investigated field, which is the rationale for using an indirect factor in current studies.
A linguistics-based approach, named SNIPR [23], considered the dependencies between the requirements by grouping them as well as considering stakeholders' pairwise comparisons. In the first phase, it exploited natural language processing to assist users in identifying interdependencies and constraints between requirements as input into a satisfiability modulo theories (SMT) solver. This phase also involved calculating the ranking of the requirements while estimating the uncertainty associated with each requirement's rank based on different ranked sets generated by the SMT solver. The second phase involved reranking a subset of requirements for improved accuracy.
In addition, EVOLVE was used in software development to generate the final decision through opting for innate technical precedences of the requirements [24]. It combined the computational strength of genetic algorithms with the flexibility of an iterative solution method. At each iteration, a genetic algorithm was applied to determine an optimal or near optimal assignment of requirements. The process needed prioritization of requirements by stakeholders, effort estimation for all requirements, effort constraints, precedence, and coupling constraints, as well as changes in the weights assigned to stakeholders.
A TOPSIS-based tool was provided in [9] to consider the prerequisites for the requirement dependencies, which change the score of each requirement provided by TOPSIS to set the score of each as less than each of its prerequisites/dependencies. Moreover, [25] proposed Drank (a method of semiautomated requirements prioritization) to integrate the preferences and dependencies of the requirements using a weighted page rank algorithm. In Drank, a prioritization evaluation attributes tree (PEAT) is developed, and then a subjective requirements prioritization using RankBoost is created. Through extracting business dependencies and the contribution among the requirements using the i* model, a weighted page rank algorithm is used to assess the contribution order of each requirement. Finally, the final prioritization list of requirements is provided by integrating the subjective requirements along with prioritizing the contribution order and the business relationships among the requirements.
Software requirement selection was optimized in [26] to investigate the dependency between requirements using a fuzzy graph. An optimization model was proposed in the study to test the dependencies of value-based requirements and their effects on the appointed requirements. Fuzzy-graph structures were used to model valuebased requirement dependencies alongside their strengths. The authors provided a new value measure for an optimal set as overall value (OV), which observes the value-based requirement dependencies of the selected requirements.
In summary, none of the above works considered the preference or dependency type (increase/decrease cost of) among the requirements while using a fuzzy concept. Since considering the dependencies among the requirements is important for requirements prioritization, the focus of this paper has been on the "increase/decrease cost of" dependency type among the requirements in prioritizing them. We have considered both the existence and the strengths of the "increase/decrease cost of" requirement dependencies during the prioritization task. The main contributions of our work are as follows: first, we have modeled the "increase/decrease cost of" dependency type and its strengths using the algebraic structure of fuzzy graphs. Second, we have used a weighted page rank algorithm on the basis of the fuzzy graphs to compute the final strength in each requirement dependency that not only takes into account the dependencies among the requirements but also considers the strengths of "increase/decrease cost of" dependency using a provided modified weighted page rank algorithm regarding the fuzzy uncertainty concept. Finally, we have presented a requirement prioritization approach, integrating the dependency order of requirements with the requirements order provided by tensor decomposition.

Fuzzy graphs and tensor algebra
The application of graph theory covers a broad range of combinational problem areas in scientific research, and fuzzy systems have vast applications in diverse scientific areas, including decision-making systems and social sciences. Fuzzy graphs has been used extensively in modern sciences and technologies since their introduction in 1975 [15].
Considering S as a finite set, a fuzzy subset of S is identified as mapping ξ:S→ [0, 1] , which determines a degree of membership 0≤ξ (X) ≤1 for each element of X∈S . A fuzzy relation f :S×S→ [0, 1] is also defined on two fuzzy subsets of S 1 and S 2 with membership function of ξ 1 : . In addition, a fuzzy graph can be depicted as G= (S, ξ, f )made of functions of ξ:S→ [0, 1] and f :S×S→ [0, 1] for each x, y∈S , where f (x, y) ≤ξ (x) ∧ξ (y) [15].
The dependencies among requirements are fuzzy relations in general [27] because the strength of requirements dependencies varies from high to low in real-world projects [14,27]. Fuzzy graphs are used in engineering and computer sciences, via the factor of uncertainty, to provide effective models [28][29][30][31][32]. Hence, fuzzy graphs can model the directed fuzzy relations among requirements more accurately. Furthermore, a directed fuzzy graph G = (R, C, ξ, f ) is defined such that its nodes are a set of nonempty identified requirements R = {r 1 , . . . , r n } and the edges show the explicit cost relation among the requirements as C = R × R [26]. In addition, the dependency (r i , r j ) ∈ C represents that the cost implementation of r j explicitly depends on implementation of r i . The strengths of explicit dependencies are also defined by membership function f : where f (x, y) = 0 indicates that there is no explicit dependency between x and y . Moreover, the membership function of requirement r i in the requirement set R is defined as ξ : (r i ) → [0, 1]. Since all the software requirements are listed in its requirement set R , we have ∀r i ∈ R : ξ (r i ) = 1 , and we can abbreviate the fuzzy graph G = (R, C, ξ, f ) as G = (R, C, f ) .
For G = (R, C, f ) to be a fuzzy graph we consider the following condition that must be hold at all times: where ∧ denotes a fuzzy AND operator (taking infimum). It means the membership degree of a relation f (x, y) that shows the strength of the relation (dependency) must not exceed the membership degree of the two elements(x, y) .
The strengths of explicit dependencies in C as membership function f are set as below: Explicit dependency (r 2 , r 1 ) shows that the implementation cost of r 1 explicitly depends on r 2 and the strength of the dependency is determined by f (r 2 , r 1 ) = 0.4.
There are both implicit and explicit dependencies in a fuzzy requirement interdependency graph, in which they can be identified via the graph edges and explicit dependencies, respectively. For example, from explicit dependencies (r 4 , r 2 ) and (r 2 , r 1 ) we can infer the implicit dependency (r 4 , r 2 , r 1 ) .
Furthermore, the implementation cost of a requirement r i can positively or negatively impact the implementation cost of requirement r j . This has been considered in the "increase/decrease cost of" dependency type in this paper. A tensor can be defined as a multidimensional array that generalizes the representation of the matrix [33], and each dimension of the tensor is called a mode. A∈R I1×···×IN displays an N-order tensor A, where its elements are a i1,...,iN , and the size of the nth mode A is I n . To achieve a high-order tensor, a mode-n flattening is used to cut up a tensor A on the mode-n axis and connect the cut-up matrices into one matrix A(n) [33]. By expanding the singular value decomposition (SVD) to that of high-order tensors (here a three-order tensor), we can derive the Tucker decomposition [34].

Proposed approach
In describing our approach, we first mention the assumptions. The requirements conflicts have been solved by negotiation so that they are conflict-free during the prioritization process. The "increase/decrease cost of" dependencies among requirements are also identified and modeled; that is, the dependencies are confirmed by requirements engineers and experts. Given these assumptions, our approach includes the following steps as in Figure 2.
• Eliciting importance values of functional requirements (FRs) regarding nonfunctional requirements (NFRs): In this step, stakeholders extract the importance value of each NFR regarding FRs through a five-point scale [10].
• Generate primary prioritization list using tensor concept: In this step the primary list of prioritized requirements is provided using the tensor concept as proposed in [10]. The steps are listed as following: 1. The three-order tensor is constructed from stakeholders' preference information.
2. The Tucker decomposition is used to reveal relations among entities of the tensor.
3. The reconstructed tensor is calculated. 4. Finally, the ordered list of FRs is provided.
• Generate fuzzy graph of "increase/decrease cost of" dependency: Cost-related dependencies are used in order to generate a fuzzy requirement dependency graph. A fuzzy cost graph (FCG) is derived based on the "increase/decrease cost of" dependency type (details are provided in Section 4.1).
• Generate order of cost dependency: According to the generated fuzzy graph, the cost dependency strength and transitivity are used to compute the dependency influence, and the computed dependencies are used to generate the cost-order of requirements.
• Integrate prioritization: The cost dependency can affect the implementing requirements. The final ordered list of the requirements is obtained by adjusting the primary list based on the cost dependency.
• Final prioritization: The integrated list of the requirements is provided as the final ordered list.

Example 1
An example is used in order to display the steps in our proposed model in detail. Five decision makers assisted us to study 3 FRs and 4 NFRs. Based on the steps provided in Figure 2, the importance values of FRs regarding NFRs are gathered as shown in Table 1. This shows how much importance each nonfunctional requirement has according to the functional requirement.  The three-order tensor A∈R 5×3×4 is constructed (5 is the number of stakeholders, 3 is the number of FRs, and 4 is the number of NFRs), and tensor decomposition is applied as in [10] to our constructed tensor A to produce the reconstructed tensor A. First three new matrices are extracted from the constructed tensor as Then SVD is applied to each matrix A i . The U matrices are reduced with parameters c1=, c2=, c3= 0.6. The core tensor S and then reconstructed tensor A should be calculated. Reconstructed tensor A is calculated by the product of the core tensor S and the mode products of the three matrices U (i) [10]. Furthermore, to generate the primary prioritization list using the tensor concept, the normalized final rank of FRs is calculated and sorted in a descending manner using Eqs. (1) and (2).
Here |ST | means the number of stakeholders, and |N F R| equals the number of nonfunctional requirements. The final rank of our example will be provided as r 3 > r 2 > r 1 .
The next step of our proposed approach, "generate fuzzy graph of increase/decrease cost of dependency", is explained here. The cost relation between requirements of our example is provided in Figure 3a by an expert person, and since both the increase and decrease cost dependencies are processed in our proposed approach, two matrices ( ω inc , ω dec ) as in Figures 3b and 3c are filled separately from the graph provided in Figure 3a.
We should now apply the fuzzy membership function on the values of the graph edges. The fuzzy membership function for this example has been shown in Figure 4, in which the cost values are mapped to a fuzzy function to produce the fuzzy relation between the requirements in terms of the cost. The strengths of the explicit dependencies provided by the expert person are also defined by membership function f : in Figure 4. It should be indicated that the fuzzy membership function f can be different for each project.
According to the fuzzy membership function in Figure 4, the fuzzy dependency matrices and fuzzy cost graph of our example are produced as in Figure 5. Now we analyze the fuzzy graph dependencies. There are two traditional link analyses: centrality and prestige. The former is based on the outlinks and the latter calculates the inlinks while analyzing, and they do not take into account the propagation of links. These expansion rates come from a high cost requirement  A dependent on requirement B, which in turn should be assumed as another high cost requirement. In this way, we are able to calculate the real cost influence of each requirement in a fuzzy graph using an appropriate algorithm.
The PageRank algorithm [35] also considers the outlinks and inlinks in its analysis, and we can map our problem (finding the suitable order of cost dependency from the constructed fuzzy cost graph) in the PageRank algorithm with some changes as there are obvious resemblances between the influence of cost dependency analysis and that of web pages. In web page analysis, popular web pages are compared based on their connections [35], leading to the proposition of a weighted PageRank algorithm [36], in which popular pages get higher ranks instead of their ranks being divided among their outlink pages; that is, a rank value is dedicated to every outlink page according to its popularity, measured by the frequency of the afferent and efferent dependencies. Furthermore, an algorithm similar to PageRank is proposed to differentiate afferent and efferent dependencies by integrating the fuzzy distance among requirements in terms of cost dependency. It can analyze the increase and decrease dependencies separately. It can be observed that greater requirement possibility with higher inlink dependencies can be affected by the requirements, which in turn are lower concerning their cost rank.
On the other hand, any requirements with higher dependencies on outlinks can mean that influences on more requirements would lead their cost ranks to be higher.
Since the dependencies are analyzed in negative and positive manners, the two dependency orders calculated from the fuzzy cost graph are combined to achieve a conflict-free ordered list. Furthermore, in order to achieve the influence rank of each requirement in the fuzzy cost graph, the following modified formula is provided based on [25]: Here, α = 2 , β = 1 , Rnk (r j ) is the cost rank of requirement r j , d is a moderating factor to handle cycles in the dependency graph (usually set to 0.85) [35], RS is the group of optional connected requirements, and F CW (ri,rj ) (fuzzy cost weight) is the total strength of the dependencies from r i to r j , as calculated in Eq. (4). In the process, the total strength of m dependencies between r 0 and r n can be equated with the strength of the strongest dependency among all dependencies between r 0 and r n , which can be computed in a fuzzy requirement dependency graph of G = (R, C, f ) with m dependencies using the following formula: With no implicit cost-related dependency between r 0 and r n , we have F CW (r 0 , r n ) = f (r 0 , r n ) . The algorithm is similar to the PageRank algorithm as an iterative approach, and the initial values of Rnk (r i ) are set to 1, r i ∈ RS . The results can be obtained after several iterations [35]. The final rank of requirements with no dependencies is set to NULL.
According to our example in Section 4.1, we compute the cost rank of each requirement. First, we calculate the FCW ( r i , r j ), r i , r j ∈ R , in which, according to Eq. (4), the FCW matrices are calculated as in We calculate the value of an element of the matrix as follows: Finally, we achieve the decrease cost dependency order of requirements as ord dec : r 2 > r 3 > r 1 .
According to the steps of our proposed algorithm we should integrate the output of the tensor concept step with the cost ranks provided by the modified PageRank and fuzzy concept. We have two ordered lists including r 1 > r 3 > r 2 and r 2 > r 3 > r 1 , respectively. We merge the two "increase" and "decrease" ordered lists into one conflict-free order using a merge algorithm as in Figure 7 (Algorithm 1). According to the merging algorithm, the final order of cost dependency from our example is {r 1 > r 2 , r 1 > r 3 , r 2 < r 3 } ; that is, the cost influence of r 1 is higher than r 2 totally and the cost influence of r 1 is also higher than r 3 , but the cost influence of r 2 is lower than r 3 .
The final prioritized list is computed through the integration of the final cost order ( {r 1 > r 2 , r 1 > r 3 , r 2 < r 3 } ) and the primary order list provided by tensor decomposition phase ( r 3 > r 2 > r 1 ) as shown in Figure 8. The process is continued to check all the requirements and obtain the final prioritized list. Accordingly, the final integrated list of example 1 is r 2 > r 3 > r 1 , in which both the stakeholders' preferences and increased/decreased cost of dependency among requirements are considered. The produced result displays the accurate results according to the definitions in [37].The ideal target ranking in the prioritization domain is defined as follows: 1) Ranking based on the opinions of decision makers in their minds. 2) Ranking extracted from a negotiation process among decision makers [37].

Controlled experiment
Based on the guidelines of [38], an experiment is designed, and the dependent variables of time consumption, accuracy, and ease of use of the proposed approach, AHP, TOPSIS, and EVOLVE are measured. AHP is considered as the benchmark approach in several domains and studies [37], as a major industrial requirement prioritization method and prioritization requirement that only observes preferences by stakeholders. TOPSIS has been selected due to its few rank reversals in comparison to multicriteria decision making methods and its wide industrial and academic acceptance and applications [39]. It can also involve interactions among different criteria [40]. EVOLVE has been chosen for its method of typical requirements prioritization, which observes business dependencies among requirements.
As explained in our approach, the "increase/decrease cost of" dependencies among requirements are also considered, so, for our experiment, the fuzzy dependency graph extracted by the expert is used to complete the process of prioritization. The business dependencies among the requirements are also used for the EVOLVE approach.

Experiment definition
The goals of the experiment are to evaluate: 1. The proposed approach's effectiveness in terms of time consumption and accurate results compared with AHP, TOPSIS, and EVOLVE.
2. The proposed approach's ease of use compared to AHP, TOPSIS, and EVOLVE.
Questions: According to goal 1, RQ1 and RQ2 are devised as follows: RQ1: Is the proposed approach less time-consuming than AHP, TOPSIS, and EVOLVE?

RQ2:
Is the result of the proposed approach more accurate than AHP, TOPSIS, and EVOLVE?
For goal 2, RQ3 is constructed as below: RQ3: Is the proposed approach easier to use than AHP, TOPSIS, and EVOLVE?
Hypothesis formulation: The hypotheses based on the research questions are formulated as follows: Null hypothesis (H 0time−AHP ) There is no difference between the proposed approach and AHP's time consumption.
Null hypothesis (H 0time−T OP SIS ) There is no difference between the proposed approach and TOPSIS's time consumption.
Null hypothesis (H 0time−EV OLV E ) There is no difference between the proposed approach and EVOLVE's time consumption.
Null hypothesis (H 0accuracy−AHP ) There is no difference between the proposed approach and AHP's accuracy of the prioritized requirements. These variables are mostly known as dependent variables in requirements prioritization areas [41]. It is also required to produce accurate results of the prioritization process fast and easily [3], so these properties are considered in this study. Table 2 shows the variables of our controlled experiment. Actual time consumption (s) is recorded from the start of the prioritization process to the end of the manual part of the process by each participant Accuracy of results Ordinal It determines which approach produces a better ordered list and reflects participants' opinions Ease of use Ordinal Shows how easily the participants work when performing the prioritization process through the provided prioritization approach The time consumption variable is calculated according to the expended time by every participant in the manual part of the prioritization approaches.
To measure the accuracy variable, we determine which approach (our approach, AHP, TOPSIS, and EVOLVE) produces better sequences and shows the opinions of the participants better in the produced results. The more accurate approach here means that it produces a closer ordered list to the participants' opinions. Therefore, two post questionnaires including post questionnaire 1 and post questionnaire 2 are used as well. In post questionnaire 1, the participants are asked to choose a Likert scale value (1)(2)(3)(4)(5) [42] to show how accurately the approaches, our approach and the compared methods (AHP, TOPSIS, and EVOLVE), produce the ordered lists. The second post questionnaire, post questionnaire2, has a question with three answers. The participants are required to select one option, our approach or compared methods (AHP, TOPSIS, and EVOLVE), assuming that they are equal in accuracy, to express which one produces more accurate results.
The ease of use variable determines the amount of ease the subjects feel during the prioritization process. Two post questionnaires are also used to collect the subjects opinions about this variable. Post questionnaire 1 asks subjects (to rank the prioritization approaches (our approach and compared methods (AHP, TOPSIS, and EVOLVE)) according to a Likert scale "How easy is it to use the prioritization approach?") [42]. The second post questionnaire ("Which approach is easier to use?") is used to allow the subjects to opt for only one option among "our approach", "compared methods (AHP, TOPSIS, and EVOLVE)", and "they are equal".

Threats to validity
Four internal, external, construct, and conclusion validity threats were selected to be investigated in this section according to [38].
External validity refers to the outcome generalization of the experiment, and it must be taken into account when students and researchers are participating in the experiment. Some studies do not differentiate between students and professionals [43], whereas some others differentiate between the results provided by students and professionals [44]. Also, the study in [45] showed that students provide highly probable results similar to those provided by practitioners. To handle this threat, research students were selected to participate in the study since, compared to classroom students, resorting to these students raises the probability of acquiring more reliable data [46]. In addition, the participants had enough experience in requirements prioritization and software engineering. However, to improve external validity, our approach needs to be tested in industrial projects.
The fatigue of participants is an example of an internal threat that can influence the findings of a study, so considering the low number of the requirements, the participants' obligatory break for the experiment can reduce the impact of this factor.
Threats to construct validity refer to the interaction between theory and observation as the variable of time is measured in an automatic manner as in [37]. The ease of use and accuracy variables known as dependent variables are based on the participants' perceptions. Therefore, the experience and information of participants can affect the variables [37]. This makes the measurement of the accuracy of prioritization challenging; consequently, we considered the approach that provides prioritization close to the participants' viewpoints as more accurate [37]. This was done via the post questionnaires.
The statistical analyses are related to conclusion validity threats, and to remove this threat, an appropriate statistical analysis should be used to test the hypotheses. It should be mentioned that the limited number of participants could affect the statistical power (20 participants), so it is necessary to perform the experiment with more participants to increase the statistical analysis power.

Experimental implementation
The experiment was done on a distance learning management system (DLMS) project, and in this experiment, 10 functional and 5 nonfunctional requirements were settled as the objects. Also, 20 PhD candidates and students experienced in industrial projects and research with good knowledge of requirements prioritization participated in the study. The experiment was divided into three experiments (experiment 1, experiment 2, experiment 3) to compare the three selected methods (AHP, TOPSIS, and EVOLVE) with the proposed approach.
The participants were selected using the convenience sampling technique [38], and the participants used each approach (our approach, AHP, TOPSIS, and EVOLVE) on the same requirements in a random order to avoid any potential bias as a paired comparison design [38].
An Intel Core i5 processor with processing power of 2.30 GHZ, hard disk 500 GB, RAM 4.0 GB, and Windows 7 operating system were the specifications of the system used to perform the experiments. In addition, the approaches were written in MATLAB programming language.

Experimental results and analyses
The analysis of the experimental results is provided here. The data have been collected through form completion.
To accept or reject the hypotheses formulated in Section 5.1, the 5% significance level was used in the statistical analysis using SPSS 16.0.
The Shapiro--Wilk distribution test was applied on the collected values of the experiments to accept or reject the defined hypotheses for the variables of time consumption, ease of use, and accuracy of the results.
The output of the test shows that the distribution of the data gathered to test H 0time −AHP, H 0time −T OP SIS , and H 0time −EV OLV E was normal as the P-values were greater than 0.05. This led to the application of the t-test to accept or reject these hypotheses. The distribution of the data gathered to test H 0accuracy −AHP , was not normal since each P-value of the data used to test these hypotheses was found to be less than 0.05, so the chi-square test [38] and a nonparametric test, the Mann--Whitney test [47], were used to accept or reject the hypotheses.

Time consumption analysis:
The box-plots and details of time consumption by participants are displayed in Figure 9 and Table 3. As shown in Table 3, the average time taken by our approach is less than the average time taken by AHP, TOPSIS, and EVOLVE. The median of our approach is also lower than the ones for the compared approaches, as shown in the box-plots sketched in Figure 9. Table 4 illustrates the t-test results for experiment 1, experiment 2, and experiment 3 and shows that H 0time −AHP, H 0time −T OP SIS , and H 0time −EV OLV E are to be rejected at a significance level of α = 0.05 .
The results also indicate that, on average, our approach requires less time than the compared approaches. Observing the following considerations, the results are reasonable: AHP works based on pairwise comparisons and passes the consistency check. The participants should rank all of the pairwise requirements using a ninepoint Likert scale [12], showing that the process is time-consuming. TOPSIS starts with the initial ranking of alternatives for each criterion, and an absolute scale (e.g., dollars and effort-hours) or a relative scale (e.g., 1-9 Likert scale, 1-3-9, or Fibonacci scale) can be used for scoring. Determining the weight of each criterion in the TOPSIS algorithm also takes time. EVOLVE requires two types of scoring for each requirement, in which the participants should determine the impact on the business value of the final product and the degree of urgency (time criticality). It uses a five-point Likert scale (from 1 to 5) to score the requirements.  Ease of use analysis: To measure the ease of use variable, two post questionnaires were used. For the first post questionnaire, a Likert scale was used to make the decision on the value of ease of use in each approach. The results of this post questionnaire study are illustrated in Table 5. The results show that our approach provides the subjects' opinions with a higher degree of ease of use.
The results of the Mann--Whitney test show that the ease of use in our approach is higher than that in AHP, TOPSIS, and EVOLVE, and the ease of use null hypotheses can be rejected as depicted in Table 5, since P-values are less than 0.05. Accordingly, we can conclude that the approach we use works more effectively than AHP, TOPSIS, and EVOLVE. In testing the second null hypotheses of ease of use ( Table 6), because of the nonnormal distribution of data, the chi-square test [38] was used. The analysis of the chi-square test ( Table 6) shows that the difference is statistically significant, as the P-value is less than 0.05 for each experiment; thus, we are able to reject the second null hypotheses of ease of use. These outcomes are sensible under the following considerations. Participants consider the AHP to be more difficult to use than our approach because of the pairwise comparison and passing of the consistency check. In TOPSIS scoring, the criterion-based requirements and making a weight for each criterion make it more difficult to use than our approach. Since EVOLVE requires two types of scoring (impact on business value and urgency) for each requirement, it is more difficult to use it than our approach.
Accuracy of results analysis: An accuracy check using two post questionnaires was performed on the results provided by our proposed approach and the compared approaches (AHP, TOPSIS, and EVOLVE), presented in Section 5.1. The summarized data collected from post questionnaire 1 are displayed in Table 7. The table shows the opinions of the participants, each expressed in terms of the expected accuracy of both our approach and the compared ones.
To determine which approach provides more accuracy compared to the other ones, we tested the participants' opinions in terms of the null hypothesis (H 0accuracy −AHP, H 0accuracy −T OP SIS , and H 0accuracy −EV OLV E in Section 5.1). We employed the Mann--Whitney test [47] due to the nonnormal distribution of the data.
From the statistical point of view (Table 7), the difference between the proposed approach and the compared approaches is of great significance. The reason is the smallness of the P-value, which is smaller than 0.05, leading to the rejection of the H 0accuracy hypotheses. This indicates higher accuracy, which is produced in the results of our approach in contrast to that of the AHP-based approach, TOPSIS, and EVOLVE.
In addition, the analysis of the second post questionnaire was done to make the decision on the accuracy of the results provided by either one of the approaches ( Table 8). The analysis of H 0accuracy hypotheses was done employing the chi-square test on the data collected from post questionnaire 2 (see Section 5.1). As the result of the P-value is smaller than 0.05 in the chi-square test of each experiment (see Table 8), the statistical difference is significant and thus we can reject the null hypotheses (H 0accuracy −AHP, H 0accuracy −T OP SIS , and H 0accuracy −EV OLV E ). Therefore, it can be concluded that the accuracy of results in our approach is higher than that of the AHP-based approach, TOPSIS, and EVOLVE. These outcomes are sensible under the following considerations: The accuracy of the final prioritization list can be improved considering the "increase/decrease cost of" dependencies among the requirements using the fuzzy concept and link analysis in our approach. AHP and TOPSIS only focus on preferences of the stakeholders and do not take into account the requirement dependencies. Therefore, the sequences of their prioritization merely reflect the stakeholders' preferences.
EVOLVE takes into account both the stakeholders' preferences and business dependencies (precedence and concurrence dependencies) among the requirements during the prioritization process using an iterative solution method, which leads to its effective performance. The statistical analyses provided in Table 8 are just based on the participants' opinions according to their usage of approaches and what they expected from them. We know that each approach can be improved to cover more expectations of stakeholders.

Discussion
This section discusses the findings and analysis of the experiment. The analysis of time consumption, the first dependent variable, shows that producing the prioritized requirements in our approach is done faster than in the AHP-based approach, TOPSIS, and EVOLVE. Furthermore, the number of decisions, each of which is expected to be made by any participant in our approach, differs from that in the AHP-based approach. For example, consider the prioritization of 10 functional and 5 nonfunctional requirements. In our approach, the participants are required to make (10 * 5) decisions and (((10 * 9)/2) + ((5 * 4)/2)) decisions in the AHP-based approach.
This difference is increased by the increase in the number of requirements [10]. The AHP approach uses the pairwise comparison by participants and checks the consistency of the participants' rank values. This process leads to more time consumption. TOPSIS needs the weight of each criterion and the importance value for each requirement according to that criterion, and EVOLVE requires two types of scoring for each requirement. These can make their applications time-consuming. There are varieties of ranges for the values that are used in decision-making process. In our approach, we opted for a five-point Likert scale, whereas in the AHP-based approach, a nine-point Likert scale was utilized [12]. This can affect the time consumption in the approaches in providing the prioritized requirements. The accuracy of the results in our approach is higher than that in the AHP-based approach and TOPSIS, which provide prioritized requirements by focusing on stakeholders' preferences without considering the requirement dependencies. The prioritization only reflects the stakeholders' preferences, but our approach requires participants' preferences according to the FR and NFR relation. The "increase/decrease cost of" dependency extracted by an expert person using the fuzzy graph and modified page rank algorithm is also used to improve the primary prioritization. In addition, our approach provides the ordered list using three-order analysis, whereas other approaches analyze the preferences apart from each other (FRs and NFRs) or in a two-way analysis. This results in increasing the accuracy of the produced prioritization using our approach [10]. By considering the business dependencies among the requirements, EVOLVE acts well in terms of accuracy of the results. Needless to say, the number of experiment requirements (10 FRs and 5 NFRs) was rather small. The time being spent on doing the experiment should be reasonable. We took this into account as mentioned in [3]. This factor forced us to choose a smaller number of requirements for conducting the experiment, whereas industrial projects have more requirements. Therefore, the findings of this experiment are useful when prioritization is needed for subsets of requirements in large-scale systems. In this regard, as a suggestion for future studies, our approach can be evaluated for an industrial case study. Our approach requires the identification and consideration of the dependencies among the requirements during its process. This task is difficult, but it is a necessary one in the process of requirement analysis. Therefore, we can consider that the dependency identification task has successfully been fulfilled. The approach provided in this paper only supports the "increase/decrease cost of" dependency type. It is important to improve it by considering more dependency types.
Some explanations on the reduction parameters of the tensor and the scalability of the tensor are discussed in [10].

Conclusion
Many factors are involved in the prioritization of the requirements. We proposed an approach for requirements prioritization in this paper that considers not only the importance of requirements in a project, but also the dependencies among them in the process. Multidimensional analysis is provided using a three-order tensor and Tucker decomposition since the tensor algebra can reveal the relations among its entities in an effective manner. Also, the fuzzy graph algebra and link analysis have been used to analyze the requirements dependencies. In order to compare the approaches with each other, we have employed a controlled experiment, and the results show the superiority of our approach regarding time consumption, ease of use, and accuracy. Future works can involve considerations such as the weight of stakeholders and handling other types of dependencies. Additionally, future research could be conducted on such controlled experiments in which industrial case studies are considered. By doing so, one can investigate how similar the results are to our findings. In a similar way, one can investigate how great numbers of requirements and stakeholders can be handled in our approach.