A Data Mining Technique to Improve Configuration Prioritization Framework for Component-Based Systems: An Empirical Study

Department of Software Engineering, In the current application development strategies, families of productsare developed with personalized configurations to increase stakeholders’ satisfaction. Product lines have theability to address several requirements due to their reusability and configuration properties. The structuringand prioritizing of configuration requirements facilitate the development processes, whereas it increases theconflicts and inadequacies. This increases human effort, reducing user satisfaction, and failing to accommodatea continuous evolution in configuration requirements. To address these challenges, we propose a framework formanaging the prioritization process considering heterogeneous stakeholders priority semantically. Featuresare analyzed, and mined configuration priority using the data mining method based on frequently accessed andchanged configurations. Firstly, priority is identified based on heterogeneous stakeholder’s perspectives usingthree factors functional, experiential, and expressive values. Secondly, the mined configuration is based on frequentlyaccessed or changed configuration frequency to identify the new priority for reducing failures or errorsamong configuration interaction. We evaluated the performance of the proposed framework with the help ofan experimental study and by comparing it with analytical hierarchical prioritization (AHP) and Clustering.The results indicate a significant increase (more than 90 percent) in the precision and the recall value of theproposed framework, for all selected cases.


Introduction
The software functional requirements play an important role in the development of component-based systems for agility and timely delivery of products, with high quality. Inefficient prioritization of requirements and the reuse of requirements in component-based systems degrades development and promotes system failures [27]. These systems are built on reuse concepts to reduce complexity, and developers adopt components of the product from different sources. The sources may be open source, build new, get from a distributed source, or used pre-built components by other organizations [12,18,39]. Therefore, most component-based systems are a combination of previously built components that are relevant to the same domain of new products' development. Currently, for the implementation of reused components, and features to manage requirements of new products, different configurations of components are enabled by the developing team [36,44]. As software products in the advanced intelligent technology era are a combination of software and hardware with a large number of customization options (for example, a searching browser provides different options like setting, home, sign in, history, language, pop up window, etc. for the users and every user has own options selection scheme) to use products in several ways [27,36]. Hence, the configuration is the customization options in software and hardware products for tailoring functional and non-functional requirements of components-based systems. The component-based systems are highly configurable systems due to reuse, structuring, and flexibility [8,12]. In these configurable systems, the focus is on historical information of some requirements or reuse of implementation information of requirements in the previous version or other similar domain requirements [13,27]. These systems consist of several variant features that may exist in the same domain-specific configurable system, with the integration of other feature combinations [35,37]. This organization of improving requirements features management, and reuse for a family of software products introduced an interrelated software system. This helps to fulfil the demand of large relevant customers by managing and sharing common features in similar products [11,13,47]. The main goal of software product lines (SPLs) is to enhance the quality and production by adopting the reuse of efforts and assets, thereby reducing cost and time [3,10,41]. It is an efficient engineering process to minimize the development time for product families by providing a common model. The central concept of SPLs is to provide a set of common and diverse components for the system which are identified to ensure a consistent series of products [3,6,47]. In SPLs, to deal with upcoming product changes, prediction of requirements is used to suggest to reuse existing re-quirements for changes at the early product development stage [31,44]. These products have several features and components, which increases significance for systematic reuse with complexity in configuration management [5,20,24]. To simplify the configuration management of features, the extraction of a feature model is adopted for recognizing common and variant features of highly configurable systems.
The application of a configurable system in application engineering adopts the process of reusing domain-specific assets and structuring the configurations of the components for version updating or new version release management, as shown in Figure 1.
As shown in Figure 1, a set of requirements are defined after gathering requirements from stakeholders. Thus, requirements sets are the combinations of different components when the system updated or new series of the system are released after the implementation of the changes. Firstly, commonalities and variabilities are identified from the set of requirements according to new system requirements. Secondly, components from the repository are selected against the requirements of the product based on reuse functionality. Thirdly, configuration of these commonalities and variabilities of components are generated according to functional and non-functional requirements of the system to facilitate users. After configuration selection and interaction, releases a new product of a similar domain or updates the previous version and process continues with the evolution in the system. The interaction of configuration and their features with other configurations' features creates ambiguity and errors due to improper prioritization and selection of features or configuration to fulfil system requirements [6,29,36,47]. For a configurable system, to correctly identify and manage the requirements, and to avoid reuse of irrelevant requirements of other applications, it is necessary to improve the structuring, and prioritization process of configurable systems requirements, with the active participation of stakeholders [15,30,34]. Hence, these configurable systems have several variability possibilities, and these are all interdependent. If an incorrect ranking is assigned, the interfaces collapse after integration, which increases the cost and promotes system failures. The main issues in the prioritization of configurable applications are the incompleteness, inconsistency, ambiguous configurations, inefficient Configurable system organization adaptation to changes, and tracing components in all phases of software development due to an inadequate configuration prioritization (CP) process. Therefore, prioritization of configuration in components-based systems is an important activity for correct and accurate reuse, and structuring of configuration in a continuous software evolution environment [2,15,36]. Therefore, CP is an important and critical activity for requirements configuration identification, prioritization, and validation before software release [1,17,32]. An outstanding CP is necessary for any wellrun project. It ensures that the project concentrates on the important configurations and their correct interactions as firstly perceived by both stakeholders and the developing team. There are many techniques such as analytical hierarchical prioritization (AHP), 100-dollar, value-based, and fuzzy logic that are helpful for the prioritization of requirements according to the stakeholder's needs, time, and cost, as well as the nature of the project [15,19].
However, these techniques fail in large scale projects, specifically in highly configurable systems where multi-stakeholders are involved and larger sets of variant features are present in the product series [23,38,46]. Therefore, to address this problem, researchers and industries have implemented and proposed different methods for prioritizations, with the integration of data mining, artificial intelligence, and machine learning techniques. However, these still lack prioritization to handle larger sets of configurations due to reuse interfaces of different components for core assets and variant management in the dynamic and frequently changing environments, with lesser stakeholders' participation and additional efforts.
Accordingly, to resolve these issues, we adopted a data mining technique based on historical information for the active involvement of stakeholders, using their continuous feedback and reducing effort for the prioritization process. To represent significant attributes of information employed data mining method that helps in successful identification of important attributes. The determination of important hidden attributes is important to increase the quality of information [26]. Thus, to determine information about important configurations of features in component-based systems, different approaches are adopted according to the nature of the information. Consequently, in the present era large and complex information is being generated which increases the need for data mining during the software development process. Application of data mining helps in improving software quality and productivity but still, different challenges exist like inconsistency, ambiguities, incompleteness, etc., during information attribution extraction [26,36].
Therefore, different types of algorithms are required to extract accurately different aspects of information like text, sequence, graph, etc., mining. Information in software development consists of historical data, change in information, execution, trace links, user access of components, and bug reports [14]. This information helps to track product progress, history, and evolution by analyzing previously hidden and important data statistics [36,37]. Researchers and practitioners try to explore potential information according to product nature using data mining methods, for high quality and within limited resources and time frame [28,29]. Data mining tools are beneficial in the identification of hidden important patterns of information effectively. Therefore, we adopted in our research the Weka tool for mining software requirements information to improve the prioritization pro-cess of configurable systems [4,25,29,49]. Weka tool has built-in most of the data mining algorithms and is widely adopted by researchers [37].
To control ambiguities and redundancy in mined configurations' information of updated or new product, we adopted the mining algorithm based on association rules for the prediction of frequently access or changed configurations to deal with dynamic changes in highly configurable systems to ensure higher customer satisfaction [23,36,40,46]. The frequently accessed configurations are the functionalities of the system which are mostly used by end-users in previous similar product versions or series. Similarly, frequently changed configurations are the functionalities that mostly changed in previous similar product versions or series. Thus, it increases the reusability of priority sequences and reduces stakeholders' conflicts during the prioritization of the configuration of systems. Therefore, we prioritized system functionalities based on stakeholder's priority and historical information of similar products to reduce ambiguities, incompleteness, and inaccuracy. As observed, stakeholders employ prioritization following their viewpoints and the market value of product functionalities [16,25]. The stakeholder's priority is based on three factors identified from existing literature i.e. functional (system functionality and customization), experiential (personal and social relations), and expressive (personal and social meanings) to avoid homogeneity among stakeholders. Therefore, the proposed framework for managing the process of configuration prioritization in configurable systems employs the merger of stakeholders' priority and mining historical data. The contributions of this study are as follows: 1 In this study, we present a comprehensive framework to mitigate configuration prioritization challenges in component-based systems. 2 The proposed framework provides a platform for correct and accurate configuration prioritization to improve component-based system development using stakeholder's priority and historical data. Firstly, for stakeholder's priority the functional, experiential, and expressive factors used for heterogeneous viewpoints analysis and priority of each system configuration. Secondly, historical data mining is based on association rules using two information either frequently accessed or changed configurations to extract configuration priority. These two processes, in the proposed framework, are adopted to avoid missing and ambiguous information. Then merged both priorities of configuration and sorted according to the highest priority for accurate interaction of system interaction after changes or evolution. 3 The performance of the proposed framework is evaluated by using an experiment involving three different datasets to compare its results with the AHP and Clustering techniques. 4 Our results indicate the superiority of the proposed framework over other techniques and proved that all selected highest priorities are true and relevant.
The rest of this paper is structured as follows: Section 2 introduces related work to describe the existing literature. Section 3 presents the proposed framework while the performance evaluation and details of the evaluation procedure are described in Section 4. Further, Section 5 reports the experimental results and their discussions followed by the conclusion and future work in Section 6.

Related Work
The increasing difficulty, mismanagement, and cost of the configurable systems had led researchers to increase the reuse of similar requirements for product development. SPLs resolves the reuse problem in component-based systems; however, still it is difficult to manage, prioritize, and select requirements with ambiguity, conflicts, and incompleteness especially prioritization of configurations due to frequently reused components and their incorrect interaction with each other. In the existing literature, different studies have focused on requirement management and reuse by proposing techniques for configurable systems. Arias et al. [3] managed requirements reuse by proposing a framework based on semantic analysis. Similarly, Kaindl et al. [24] proposed a method for the reuse of similar features and for matching features, based on previous information by using case-based reasoning to reduce the demand-supply gaps. Ra'Fat et al. [45] identified variant feature locations by using formal analysis of concepts as the configuration requires dynamic monitoring.
The structuring and maintenance of change requirements with reuse concepts bring challenges that can be reduced by using different viewpoints and responsibility analysis. Hence, requirements are the backbone of every project, and accurate prioritization and implementation of these requirements are necessary to obtain a correct and high-quality system. The studies [16,25,46] provide insight into the release planning processes used in the software industry to create software product value. It presents the degree to which the significant stakeholders' viewpoints are spoken to in the basic decision-making process. The SPLs strengthened high-level constructive software reuse by exploiting commonality and managing variability in a product family.
Hence, different studies have highlighted the importance of prioritization of features in requirement management and have also implemented reuse to reduce ambiguity, incompleteness, and delivery time [1,17,20]. These studies [9,21,22,43] described that prioritization is important for multiuser perspectives in component-based systems. Researchers adopted different optimization algorithms to identify the correct behavior of the system after the integration of different components having variant features with a reduction in efforts and conflict of stakeholders. Similarly, to obtain the full potential of cyber-physical systems (CPSs), both technological and service aspects need to be considered, which results in complex systems due to the dynamic changes in stakeholder requirements. These products mainly focus on the requirement engineering process due to prioritization and reuse requirements. Wiesner et al. [48] proposed an agile method-based framework to manage more cost-effectively the challenges of requirements engineering in CPSs. Prioritizing requirements by focusing on stakeholders' feedback results in a noteworthy increase in development cost because of the time elapsed in several human interactions. In another work, a semi-automated framework has been presented to predict the ratings to reduce human interactions [7]. A prioritization method known as case-based ranking integrates the project's stakeholders' needs with requirements ordering approximations, calculated through automated techniques [42]. Therefore, the prioritization process is of great importance in the configuration management process as well as in the test case and requirements optimization process [4,33]. These studies [4,33] identified that there is need of better method for the prioritization of test cases and requirements of larger sets of variants respectively, to determine the reliability of configuration requirements after the implementation while integrating and validating different commonalities and variants for software release.
Thus, from the literature, we conclude that accurate extraction of a diverse perspective of stakeholder's priority is necessary to identify the sequence of configurations for integration to fulfil stakeholders' requirements accordingly. Consequently, it is difficult to implement the bulk of requirements configurations in the first iteration or version accurately with higher satisfaction and quality, owing to the limited resources involved in continuous integration and changing environment. Therefore, an improved prioritization process is required that can identify accurate sequence and value of high priority requirements' configuration for the first iteration or version to accurately change and reuse components' implementations, and reduce efforts, conflicts, and ambiguity in accordance with diverse stakeholders' viewpoints and developing team.

Proposed Framework
The proposed Framework for configuration Requirements Prioritization (FRP) is presented for the configuration prioritization of highly configurable component-based systems to reduce complexity, human effort, incompleteness, ambiguity, and increase user satisfaction, considering the limited resources. For prioritization, used processes i.e. stakeholder's priority according to their heterogeneous viewpoints and mining historical data relevant to configurations of component-based SPLs products. The FRP consists of three main phases, i.e., stakeholder's priority and configuration analysis, mining configurations, and prioritization, as shown in Figure 2. All processes of FRP are updated in the repository for future use, to reduce the complexity in developing phases.

Figure 2
The proposed framework for configuration requirement prioritization

Stakeholder's Priority and Configuration Analysis
This phase is initiated when the stakeholders initiate a change in requirements of the system for updating the previous version or in a new series of a similar product. This phase is divided into three steps which are explained as follows.

Gathering Requirements
The requirements of similar domain products are gathered using user stories methods, in which each requirement is defined in the form of a story or need of requirements.

Stakeholders Priority
A large set of stakeholders involved in a component-based system with a heterogeneous perspective about system configuration according to their use. Therefore, we categorized requirements into three factors to extract priority according to heterogeneous perspectives or viewpoints of each stakeholder which increases complications in the case of homogenous behavior of stakeholders. These factors are described in Figure 3 and helps in extracting priority based on heterogeneous viewpoints and involvement of stakeholders instead of homogenous participation of stakeholders to reduce ambiguity, human effort, and incompleteness.

Configuration Model
As in configurations, features of component-based systems are divided into core assets and variant features. The core assets are the common features that are used in every version of the configurable system. Contrarily, the variants are those features that differ in all versions of the system to provide new and updated functionalities, according to the current requirements of technology demands. The changes in both types of core assets and variant configurations are due to two processes.
Update -In this type, the core assets and variant configuration features can be added, deleted, and modified to ensure compatibility in accordance with the required changes.
New -The new configuration features are developed from scratch for user satisfaction due to changes.
The focus of configuration analysis is associating each configuration feature with a set of common-

Figure 3
Stakeholders' priority factors alities and variabilities of system functionalities.
For the construction of the configuration feature model based on system requirements, we used the FeatureIDE tool to identify valid and invalid configurations. The FeatureIDE tool is used for feature-oriented software development integrated with an Eclipse environment to supports all product development phases i.e. requirements analysis, domain analysis and design, implementation, and validation. Therefore, using the tool, configurations are generated based on changed requirements analysis. Any invalid configuration is refined by stakeholders and the process continues until validation of all configurations. The valid configurations are saved in the repository and retrieved in phase 2 for priority extraction by mining historical data.

Mining Configurations
In this phase, parameters for priority are generated based on association rule mining of historical information using the Weka tool.
Data mining techniques deal to extract hidden and vital aspects of information from data repositories using different methods or algorithms such as classification, clustering, and association rules. Classification is one of the important methods to assign classes for data according to predefined criteria by mapping future data patterns with unidentified patterns into one unique class. Clustering is partitioning a large set of similar information whereas, in the association, rule mining association rules are applied to find the connection between data items in a transactional database. Association rule mining is used to discover frequent associations based on the well-known apriori algorithm. In this context, to extract relevant data of frequent patterns accessed and changed the configuration from historical data apriori is most suitable [35,40]. It is the most uncomplicated algorithm, which is employed for mining repetitive patterns from the transactional database [35,40]. Hence, the algorithm is adopted in various problem-solving phases during software development with high configuration and complexity. This algorithm extracts the list of configurations of the highest priority, based on frequently accessed or changed configurations by users in the previous version of a similar domain product to ensure that these features are implemented before others. The technique reduces ambiguity, incompleteness, and human effort within limited resources, as well as increases satisfaction level. Algorithm 1 describes the steps of the algorithm in which CT and β are the inputs, and Fa is the output. If the value of a feature is less than β, it is removed from the list of features in the first phase of implementation, during system development. The two parameters used for frequent patterns mining from historical information are; a) frequently accessed configurations, b) frequently changed configurations. The reason for selecting two parameters is that all configurations of products are not used by most of the users or with no user or have the same frequently accessed frequencies then frequently changed frequency selected to avoid mismatch and ambiguities during implementations. Therefore, if any configuration of the product's frequently accessed information is not available or more than configuration has the same accessed frequency then we used their changed frequency for prioritization during the configuration mining information phase.
With the increase in awareness of data mining techniques, importance is increasing in mining information without ambiguity and completeness. The researchers and practitioners are trying to automate mining techniques to increase accuracy and reduce human efforts. Therefore, various tools available in the market for data mining such as RapidMiner, R software, and Weka tool. Most of the tools perform few or specific data mining tasks whereas the Weka tool supports almost all types of mining techniques.
Thus, in this work, we used the Weka (Waikato Environment for Knowledge Analysis) tool which is popular among researchers to implement machine learning techniques during research work and is written in the Java language with an exhaustive collection of data mining algorithms. It is portable to any modern platform and provides simple user graphical interfaces.
Then, in the next phase, mapped priority of identified configurations using the FeatureIDE tool, extracted from stakeholder's priority and by mining historical information for new priority.

Prioritization
In this phase, the obtained priority of configuration is saved in the repository for a component-based system, which is extracted in phases one and two of the process. The merging of both priority lists helps to identify missing configurations' priorities for correct interaction among system configurations. As a result, the new configuration's priority value is evaluated and updated in the repository for further implementation of configuration in the development phases.

Performance Evaluation
For the performance evaluation of the FRP, we considered three cases for providing a complete guideline to the industry into adopting the FRP process.

Experimental Design
We selected three datasets of the software development organizations which have workexperience in developing configurable component-based systems. In Table 1, the detail of datasets and representative properties are listed that we used during the controlled experimentation. These properties are required for requirements change management and correct prioritization of their configurations to identify the accurate combination of functional and non-functional features in each configuration option.

Controlled Experiment
For the experimentation process, we selected 30 participants to perform various tasks from data collection to the performance evaluation of FRP. These participants include graduate and undergraduate students of computer science with experience in both research and development. We developed and deployed representative systems to collect data for frequently assessed features. We divided these volunteers into two volunteer participant groups (PGs): PG1 and PG2. The members of both groups participated in requirement prioritization based on the following processes: _ FRP: Prioritization based on frequently accessed features, frequency, and stakeholder/ customer value creation priority factors. _ AHP: A statistical assessment process used to find an optimal substitute to set priority and resource allocation. _ Clustering: Categorization of data into groups with similar attributes to extract relevant data.
The AHP and Clustering techniques are the state of art practices and are suitable for the prioritization process as identified from the existing literature. These methods are mostly adopted and used for comparison by most of the novel existing approaches.

Research Questions
We proposed a prioritization framework for the configuration prioritization process based on the reuse and structuring of component-based systems using the data mining technique with stakeholder's diverse viewpoint analysis. To evaluate the FRP's performance in structuring and facilitating the component-based system after configurations requirements, we defined two research questions (RQs) as follows: RQ1: Does the FRP improve the configuration prioritization process in component-based systems?
The RQ1 evaluates the efficiency of the FRP by using conventional methods with higher user satisfaction and less involvement of stakeholders for configuration prioritization. This is chosen for the reliability of the satisfaction-level statistical analysis.
RQ2: Does the FRP select the correct configuration during the prioritization process in component-based systems?
RQ2 is used to identify the effectiveness of the FRP using conventional methods with higher user satisfaction and less involvement of stakeholders by using evaluation metrics. The metrics used are precision (P) and recall (R) [26,37] for analyzing the competence of FRP. P symbolizes the accuracy percentage of positive identification of features by using Equation 1, whereas R describes the correctly identified priority of selected features through Equation 2. In Equation 3, the F measure is used to select all correct configurations from the total available configurations in the current system version for prioritization.   These metrics are used to verify the accuracy of the highest configurations which are selected for implementation firstly on the highest priority, after merging stakeholder priority and mining configuration priority. This configuration mining is based on frequently accessed or changed configurations in all versions of component-based systems.

P = N Selected Features / N Total Features
For a complete explanation of FRP working, selected an online shopping system as an example case study. The system consists of several configurations and we selected a few configurations of application i.e. C 1 : product list, C 2 : payment mode, C 3 : searching, and C 4 : discounted product. The stakeholder initiated a change for discount rate (decrease in two product prices) and updated product list (delete 1 product from the product list, and add new 3 products). For the execution of said example, selected randomly 10 products available before changes, and on 4 products discounts were available out of these 10 products. Then developing team extracted the priority of these changed requirements of configurable components using three factors as described above (i.e. Functional value (FV), Experiential value (EV), and expressive value (XV)) and saved in the repository. Further, selected three stakeholders for priority assignment to execute example using FRP, AHP, and clustering. These stakeholders have a different perspective regarding configuration, as there is S 1 : end-user of the product who used application, S 2 : a developer who develops product and S 3 : project manager who meet all business and organization goal during development (as described in Table 2). Subsequently, heterogeneous stakeholders, using the FRP, prioritized according to their perspective, and evaluated an average of three factors to find out the total priority of each stakeholder against every configuration.
The configuration model is generated based on the reuse factor by using the FeatureIDE tool by considering their relevant artifacts like requirements detail, code, and functions to identify valid and invalid configurations. The priority of selected configurations is based on the identified changes. Apriori algorithm applied using the Weka tool on selected configurations using the two historical information i.e. frequently accessed configurations (FAC) and frequently changed configurations (FCC). FAC of web-based shopping applications are product list, discounted product, and searching. As most of the end-user or visitors visit these pages and few of the visitors check the payment mode configuration component. Subsequently, FCC is products list and discounted products. The detail of stakeholder's priority and configuration mining priority is described in Table 2. The developing team merges both priorities to identify a new and correct priority list of configurations. Then, sorted configu-  rations based on the highest priority value and sorted priority results of FRP are depicted in Table 3. The results of FRP show that C 4 has the highest frequency and C 3 the lowest value. Therefore, sequence of configuration priority using FRP are; C 4 > C 1 > C 2 > C 3 . Similarly, the priority of all four-configurations calculated using AHP and Clustering techniques for comparing results with FRP results to prove its effectiveness. The results of both AHP and Clustering is described in Table 4. Hence, sequences of configuration priority using AHP are: C 2 > C 3 > C 1 > C 4 and Clustering are; C 3 > C 2 > C 1 and C 4 . According to AHP, payment mode is more important than product list and discounted product, which is frequently accessed in all versions of the application. Similarly, in the Clus-tering technique, searching is more important than other configurations. The reason for ambiguity and differences in all methods is that Clustering and AHP used all three stakeholders as homogenous. Whereas, FRP considered all stakeholders as heterogeneous and got priority from stakeholders according to their perspectives. Thus, FRP outperforms as compared to other techniques and demonstrates that factors and historical data are important for improving configurations' priority in component-based systems.
The experimental results of selected datasets are explained in the following section. In the experiment, all three techniques (i.e. FRP, AHP, and Clustering) were used to evaluate the priority of configurations.

Results and Discussion
This section presents the experimental results and their discussion with respect to the defined RQs.
RQ1 is analyzed for efficiency and the FRP is compared with conventional methods using questionnaire-based participant review. Here, PG 1 behaves as a treatment group (TG), PG 2 behaves as a controlled group (CG), and vice versa. This implies that if PG 1 is used as the FRP method for prioritization of three datasets, it is considered as TG, while PG 2 is used as the AHP and clustering methods and considered as CG, and vice versa.
The following parameters, for improved prioritization methods, are selected from existing literature based on the existing techniques evaluation and challenges identified: less stakeholder involvement, reduce incompleteness and inaccuracy, relevant selection of features, managing and structuring features, accommodate new features, higher user satisfaction, increase reusability in priority, reduce complexity in the process, accessed frequency useful, higher productivity and quality, and customer value usefulness. Figure 4 shows the satisfaction level of each volunteer after using FRP, Clustering, and AHP methods.  The overall analysis of the parameters while implementing FRP and the other two methods demonstrated a more than 50% satisfaction ratio for FRP as compared to others. The comparison results of Figure  5 show that the FRP performance is significantly increased compared with that of AHP and Clustering, with higher user satisfaction based on quality and fulfilling of customer needs.  Comparison between P for FRP ad AHP

Figure 7
Comparison between R for FRP and AHP Reviews analysis

Figure 6
Comparison between for FRP ad AHP

Figure 7
Comparison between for FRP and AHP  The comparison of both P and R values in all three datasets or cases shows that FRP outperforms AHP. To further validate these results, we compared P, R, and F values for randomly selected versions of each case. The results show that FRP metrics are closer to 1 or 100% than the AHP and clustering metrics, as shown in Table 5 and Figure 8.
In Figure 8, the y-axis describes the percentage of all metrics in each version, while the x-axis depicts metrics distribution in all cases using all three methods i.e., FRP, Clustering, and AHP. The results and discus-sions show that FRP has more significantly identified features of highly configurable systems for prioritization to reduce stakeholder interaction and ambiguities in features implementation.
The parametric reviews and statistical analysis proved that the prioritization process improved significantly. The statistical analysis described in Table  6 shows that the difference in the mean and variance is greater between representative methods in all three cases, showing the significance of FRP over AHP and Clustering.  Table 5 Version comparisons The p-values are calculated using the following hypothesis: H0: There is no significant difference in the requirement prioritization process followed by FRP, AHP, and Clustering.
H1: There is no significant difference in the accuracy followed by FRP, AHP, and Clustering.
For statistical analysis, we used SPSS 23 software, which helps to automate the process of desired statistical method applied to information. It can be seen from Table 3 that there are more differences among FRP mean values as compared to other techniques. The same patterns are followed in the case of both hypotheses either for requirement prioritization or accuracy, and both improved using the FRP. Table 3 shows that both requirement prioritization and accuracy are less significant in the case of AHP and Clustering as compared to FRP.
Therefore, the FRP is capable of producing an accurate priority list as compared to AHP and Clustering. Further, it can be observed that the p-values are more than 0.05 which implies that the null hypothesis can be accepted, stating that the two techniques are producing similar results. Overall, FRP is found to be more computationally efficient in comparison to Clustering and AHP, by effective, comparable, and assuring correct final ranking to support reliability and robustness to ambiguity. FRP also helps to resolve the issue of conflicts, ambiguity, incompleteness collaboration, and dependency among stakeholders and product managing teams within limited resources.

Threats to Validity
There may be certain limitations that may influence results and need to be identified for the FRP working. Therefore, the main threat is relevant to the accurate sequence of configurations and the biasedness of experimental data. To reduce the threat, relevant to accuracy, we checked the accuracy, F-Measure, and carried out statistical analysis for correct interaction of configurations and their features using the FRP. For reliability, compared results of FRP with other techniques and found that other techniques are comparatively less accurate. The external and scalability is another threat for mitigation of FRP evaluation. We selected three industrial projects for the usefulness of the FRP in different domains. Therefore, detailed steps of the FRP are explained with the industrial example to apply to different types of projects.
For the correct configuration priority list in component-based systems, used multi-criteria-based prioritization and dealt with a heterogeneous perspective of stakeholders. The three datasets used for evaluation of the effectiveness of FRP proved that heterogeneous stakeholder's priority and historical information mining improved configuration priority. For rigorous verification of theory and results relations, we constructed an empirical study review based on existing industrial research work from literature and presented the FRP as a solution for the improvement of the configuration prioritization process.

Conclusion and Future Work
In this work, we proposed a framework for prioritization of configuration for component-based systems considering accuracy, reusability, and less stakeholder involvement. The proposed framework improves the configuration prioritization process and mitigates challenges during the version update or new series of similar product development. Hence, from the review of existing literature, firstly we identify that there is a need to include the priority of stakeholders, based on their heterogeneous perspectives instead of homogenous perspective. Secondly, frequently accessed and changed configurations in previous versions or series of the same product are used as historical information for prioritization of new configurations. Subsequently, in the FRP, the stakeholder priority factor is used to find stakeholder viewpoints with a required value in the target marketplace. Therefore, for stakeholder's heterogeneous perspective, analyzed three fac-tors (i.e. functional, experiential, and expressive values), and for managing priority in a large dataset used apriori technique for frequent pattern extraction and categorization. Then merged both priorities to determine accurate priorities for correct implementation of configurations. The effectiveness of the FRP is evaluated through an experimental study, and implementation on three industrial datasets, and compared with other techniques i.e. AHP and Clustering. The results depicted noteworthy improvement in terms of satisfaction level and configuration, correct implementation with the highest recall value of FRP than that of the AHP and Clustering methods in terms of ranking of a configurable product.
Hence, this research provides a direction to industry and researchers to manage the prioritization and validation of configuration features in a component-based system and to extend the proposed framework to improve configuration testing in a distributed environment with the improvement of requirement management and prioritization process.