Maintaining software reliability is the key idea for conducting quality research. This can be done by having less complex applications. While developers and other experts have made significant efforts in this context, the level of reliability is not the same as it should be. Therefore, further research into the most detailed mechanisms for evaluating and increasing software reliability is essential. A significant aspect of growing the degree of reliable applications is the quantitative assessment of reliability. There are multiple statistical as well as soft computing methods available in literature for predicting reliability of software. However, none of these mechanisms are useful for all kinds of failure datasets and applications. Hence finding the most optimal model for reliability prediction is an important concern. This paper suggests a novel method to substantially pick the best model of reliability prediction. This method is the combination of analytic hierarchy method (AHP), hesitant fuzzy (HF) sets and technique for order of preference by similarity to ideal solution (TOPSIS). In addition, using the different iterations of the process, procedural sensitivity was also performed to validate the findings. The findings of the software reliability prediction models prioritization will help the developers to estimate reliability prediction based on the software type.
Software reliability serves as a vital feature of programme continuity. Software reliability can be described in the standard form as the likelihood of software execution over a specified period of time in a specified environment without failure [
To achieve reliable software, many researchers like Musa et al. [
Precise evaluation focuses on the attributes they engage in [
Among all these methods, AHP (Analytic Hierarchy Process) proves to be a popular and efficient method for choosing an attribute among several attributes [
This paper uses a hybrid approach of Hesitant Fuzzy-AHP-TOPSIS for choosing best reliability models. Fuzzy sets are used in mathematical terms to represent imprecision and vagueness of the linguistic data. In this paper different reliability models are considered as different attributes. While three datasets John Musa Bell Laboratories Dataset, MyLynn Dataset and Apache Lucene Server dataset are considered as different alternatives [
Musa et al. [
As per the report published by AV Comparatives for March 2020, no antivirus mechanism ensures full reliability to the user that it will secure the system from malicious attacks [
Software reliability prediction models are used to predict the reliability of software at the time of development. This makes the software more reliable besides providing quality to the end user. Hence, choosing the appropriate model for reliability prediction is a significant problem and due to involvement of multiple attributes into it, it becomes a multi criteria decision making problem. Due to the presence of multiple models, the developers often get confused about choosing the right model to use and with which dataset. In this context, the present study proposes a novel approach to prioritize different methods of software reliability prediction to choose the best among them. For achieving this objective, hybrid method of Fuzzy AHP TOPSIS has been used. We employed this methodology because fuzzy is eligible in handling vagueness of data, and the analytic hierarchy process is capable of handling loads of data by dividing it into a hierarchy. In addition, TOPSIS is used here to select the best alternative among all models.
In AHP, the data is taken from experts in the form of fuzzy linguistic form. However in some contexts, the experts are confused about providing the accurate data due to restricted scale of fuzzy. Hesitant Fuzzy provides a solution to this problem and expands the scale as per the expert’s consideration. The concept of hesitant fuzzy sets was proposed by Torra [
To assess and prioritize different software reliability models, authors have classified software reliability prediction into two broad areas.
The set of multiple concepts and techniques aimed at addressing the challenges being faced in the real-world problems are soft computing techniques. It solves problems that appear to be imprecise, ambiguous and difficult to categorize [
Statistical processes for software release assessments are usually based on a loss function that normally takes into consideration the tradeoff between incremental expense of testing and undetected cost of error. Statistical models of software reliability consider the probability on which the reliability of software will never fail for specified period of time. There are various techniques on which software reliability models are being developed for many years. We have chosen the most worked upon statistical methods in our research study. These have been explained in detail below:
The next section of this study describes the methodology of Hesitant Fuzzy AHP TOPSIS for the assessment and prioritization of different software reliability models listed above by using the hierarchy shown in
MCDM is the appropriate technique for solving many real-world challenges and making the right choices. In MCDM operations, AHP is considered to be a well-organized method because it offers an efficient solution for decision-makers. The pair-wise comparison matrix is normally utilized, and the accuracy of the system is validated. When there are many alternatives available, these pair-wise comparisons are seriously influenced by the decisions of practitioners.
This research presents an effective method consisting of AHP to evaluate the decision requirements and TOPSIS to select the most suitable function to solve the problem of selecting the appropriate software reliability prediction method. To obtain more precise results, this study also uses the hesitant fuzzy strategy. MCDM has some complex methods, but because of its simple calculation, TOPSIS arrives at the end. The measures are summarized as follows to measure the weights of the selected main and sub-methods:
Step 1: First step is the construction of the hierarchical model for the various problem levels.
Step 2: Through the assistance of linguistic terms [
Step 3: Third step is using fuzzy wrappers [
Here,
The step continues with identifying first and second type of weights using
Second type weights (W
Again with the help of the equation
Step 4: Forth step is to complete the pair-wise comparison matrix (
Step 5: Through the assistance of
Calculate the standard Consistency Ratio (CR) using
In
Step 6: Next step is to assess the geometric mean for every row using
Step 7: Next step is to assess the prediction weights for every highest method using
Step 8: Using the
Step 9: Normalize weights are estimated from defuzzified weights using the help of
With HF-TOPSIS, the next move is to find the best option. TOPSIS assists experts in choosing the truly outstanding alternative for real-world issues as a commonly used MADM method [
The method can be defined as:
Step 10: The initial steps for this,
Let’s assume that
The choice under concern has Q alternatives
The practitioners or experts are specified with
The scale for methodology HF-TOPSIS is detailed as:
Let
The fuzzy envelope for respective comparative linguistic expression is calculated as the succeeding [
Step 11: Next step is to aggregate the individual calculations of experts or practitioners
Step 12: For next step let
Let’s assume that the Hesitant Fuzzy Linguistic Term Set (HFLTS) positive ideal solution is signified with
Further define
Step 13: Further using the assistance of
Step 14: Compute the relative closeness score for each alternative under consideration through
where
Step 15: Order the alternatives based on corresponding relative closeness scores.
Data analysis and results through HF-AHP-TOPSIS is implemented in the next section.
It is a daunting job for practitioners to select a perfect software reliability prediction model. This issue can be addressed with the aid of quantitative evaluation. But, during software development, practitioners are often puzzled due to the growing frequency of faults and device crashes. Such uncertainty can be the cause for losing out on the cost, time and, eventually, the users’ trust. Thus, it is a decision-making issue to choose the ideal software reliability prediction and evaluation model. To quantitatively evaluate and solve this dilemma, there are so many decision-making procedures [
First of all, opinions were taken from twenty-five academicians and industry professionals for each collection of methods of prediction and data. For this, in a virtual meeting setting, the practitioners were invited and told about the methods of prediction in relation to different groups and defined the linguistic values through the scale. The authors accumulated pair-wise comparison matrixes to determine the weights of various software reliability models with the aid of the collected data. Two methods at level 1 of the hierarchy are seen, according to
RM1 | RM2 | |
---|---|---|
RM1 | EE | B/W VHI & ESHI |
RM2 | – | EE |
RM11 | RM12 | RM13 | RM14 | RM15 | |
---|---|---|---|---|---|
RM11 | EE | B/W ELI & EHI | B/W ESLI & ELI | B/W EHI & WHI | B/W EHI & ESHI |
RM12 | – | EE | B/W ELI & EHI | B/W WLI & EE | ELI |
RM13 | – | – | EE | B/W ELI & EHI | B/W EHI & WHI |
RM14 | – | – | – | EE | B/W EHI & WHI |
RM15 | – | – | – | – | EE |
RM21 | RM22 | RM23 | RM24 | RM25 | |
---|---|---|---|---|---|
RM21 | EE | B/W ELI & EHI | B/W ESLI & ELI | B/W EHI & WHI | B/W EHI & ESHI |
RM22 | – | EE | B/W WLI & ELI | B/W ELI & EHI | B/W ELI & EHI |
RM23 | – | – | EE | B/W WLI & EE | B/W EHI & ESHI |
RM24 | – | – | – | EE | B/W WHI & ESHI |
RM25 | – | – | – | – | EE |
The accuracy of any evaluation was checked through Step 5 and
The “B/W VHI and ESHI” fuzzy envelope (US12) was named. (3.0, 5.0, 7.0) and (5.0, 7.0, 9.0) are the Triangular Fuzzy Numbers (TFN) associated with the linguistic values specified. The trapezoidal fuzzy
RM1 | RM2 | |
---|---|---|
RM1 | 1.0000, 1.0000, 1.0000, 1.0000 | 3.0000, 5.0000, 7.0000, 9.0000 |
RM2 | 0.1100, 0.1430, 0.2000, 0.3300 | 1.0000, 1.0000, 1.0000, 1.0000 |
RM11 | RM12 | RM13 | RM14 | RM15 | Local weights | |
---|---|---|---|---|---|---|
RM11 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.3300, 1.0000, 1.0000, 3.0000 | 0.1400, 0.2000, 1.0000, 1.0000 | 1.0000, 1.0000, 3.0000, 5.0000 | 1.0000, 1.0000, 5.0000, 7.0000 | 0.0500, 0.1600, 0.2800, 1.0100 |
RM12 | 3.0000, 1.0000, 1.0000, 0.3300 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.3300, 1.0000, 1.0000, 3.0000 | 0.2000, 0.3300, 1.0000, 1.0000 | 0.1100, 0.1400, 0.3300, 1.0000 | 0.0350, 0.1660, 0.2260, 0.6200 |
RM13 | 1.0000, 1.0000, 5.0000, 7.0000 | 3.0000, 1.0000, 1.0000, 0.3300 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.3300, 1.0000, 1.0000, 3.0000 | 1.0000, 1.0000, 3.0000, 5.0000 | 0.0590, 0.2100, 0.3500, 1.2600 |
RM14 | 0.2000, 0.3300, 1.0000, 1.0000 | 1.0000, 1.0000, 3.0000, 5.0000 | 3.0000, 1.0000, 1.0000, 0.3300 | 1.0000, 1.0000, 1.0000, 1.0000 | 1.0000, 1.0000, 3.0000, 5.0000 | 0.0540, 0.1300, 0.2800, 0.9500 |
RM15 | 0.1400, 0.2000, 1.0000, 1.0000 | 1.0000, 3.0000, 7.0000, 9.0000 | 0.2000, 0.3300, 1.0000, 1.0000 | 0.2000, 0.3300, 1.0000, 1.0000 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.0330, 0.0860, 0.1800, 0.4980 |
RM21 | RM22 | RM23 | RM24 | RM25 | Local weights | |
---|---|---|---|---|---|---|
RM21 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.3300, 1.0000, 1.0000, 3.0000 | 0.1400, 0.2000, 1.0000, 1.0000 | 1.0000, 1.0000, 3.0000, 5.0000 | 1.0000, 1.0000, 5.0000, 7.0000 | 0.0480, 0.1570, 0.2710, 1.0250 |
RM22 | 3.0000, 1.0000, 1.0000, 0.3300 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.2000, 0.3300, 1.0000, 1.0000 | 0.3300, 1.0000, 1.0000, 3.0000 | 0.3300, 1.0000, 1.0000, 3.0000 | 0.0330, 0.1290, 0.2120, 0.7810 |
RM23 | 1.0000, 1.0000, 5.0000, 7.0000 | 1.0000, 1.0000, 3.0000, 5.0000 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.2000, 0.3300, 1.0000, 1.0000 | 1.0000, 1.0000, 5.0000, 7.0000 | 0.0640, 0.2400, 0.4260, 1.2140 |
RM24 | 0.2000, 0.3300, 1.0000, 1.0000 | 3.0000, 1.0000, 1.0000, 0.3300 | 1.0000, 1.0000, 3.0000, 5.0000 | 1.0000, 1.0000, 1.0000, 1.0000 | 1.0000, 3.0000, 5.0000, 7.0000 | 0.0520, 0.1590, 0.2970, 1.0250 |
RM25 | 0.1400, 0.2000, 1.0000, 1.0000 | 3.0000, 1.0000, 1.0000, 0.3300 | 0.1400, 0.2000, 1.0000, 1.0000 | 0.1400, 0.2000, 0.3300, 1.0000 | 1.0000, 1.0000, 1.0000, 1.0000 | 0.0220, 0.0730, 0.1130, 0.5030 |
Reliability models at level 1 | Local weights at level 1 | Reliability models at level 2 | Local weights at level 2 | Global weights at level 2 | |
---|---|---|---|---|---|
RM1 | 0.3317, 0.3782, 0.4472, 0.5745 | RM11 | 0.0500, 0.1600, 0.2800, 1.0100 | 0.01658, 0.06050, 0.12520, 0.58020 | |
RM12 | 0.0350, 0.1660, 0.2260, 0.6200 | 0.01160, 0.06278, 0.10100, 0.35610 | |||
RM13 | 0.0590, 0.2100, 0.3500, 1.2600 | 0.01957, 0.07940, 0.15650, 0.72380 | |||
RM14 | 0.0540, 0.1300, 0.2800, 0.9500 | 0.01791, 0.04916, 0.12520, 0.54570 | |||
RM15 | 0.0330, 0.0860, 0.1800, 0.4980 | 0.01094, 0.03252, 0.08040, 0.28610 | |||
RM2 | 0.0928, 0.1223, 0.1711, 0.2783 | RM21 | 0.0480, 0.1570, 0.2710, 1.0250 | 0.00440, 0.01920, 0.04636, 0.28525 | |
RM22 | 0.0330, 0.1290, 0.2120, 0.7810 | 0.00300, 0.01570, 0.03627, 0.21730 | |||
RM23 | 0.0640, 0.2400, 0.4260, 1.2140 | 0.00593, 0.02930, 0.07280, 0.33780 | |||
RM24 | 0.0520, 0.1590, 0.2970, 1.0250 | 0.00482, 0.01940, 0.05081, 0.28520 | |||
RM25 | 0.0220, 0.0730, 0.1130, 0.5030 | 0.00200, 0.00890, 0.01933, 0.13990 |
Reliability models at level 1 | Global weights of level 1 | Defuzzified weights | Normalized weights | Percentage (%) | Final rank |
---|---|---|---|---|---|
RM1 | 0.3317, 0.3782, 0.4472, 0.5745 | 0.9013 | 0.8495 | 84.95 | 1 |
RM2 | 0.0928, 0.1223, 0.1711, 0.2783 | 0.1597 | 0.1505 | 15.05 | 2 |
Reliability models at level 2 | Global weights at level 2 | Defuzzified weights | Normalized weights | Percentage (%) | Final rank |
---|---|---|---|---|---|
RM11 | 0.01658, 0.06050, 0.12520, 0.58020 | 0.16136 | 0.155268 | 15.5268 | 2 |
RM12 | 0.01160, 0.06278, 0.10100, 0.35610 | 0.11588 | 0.111499 | 11.1499 | 4 |
RM13 | 0.01957, 0.07940, 0.15650, 0.72380 | 0.20253 | 0.194877 | 19.4877 | 1 |
RM14 | 0.01160, 0.06278, 0.10100, 0.35610 | 0.15206 | 0.146311 | 14.6311 | 3 |
RM15 | 0.01094, 0.03252, 0.08040, 0.28610 | 0.08715 | 0.083855 | 8.3855 | 6 |
RM21 | 0.01957, 0.07940, 0.15650, 0.72380 | 0.07013 | 0.067479 | 6.7479 | 8 |
RM22 | 0.00300, 0.01570, 0.03627, 0.21730 | 0.05404 | 0.051999 | 5.1999 | 9 |
RM23 | 0.01791, 0.04916, 0.12520, 0.54570 | 0.09132 | 0.087872 | 8.7872 | 5 |
RM24 | 0.00482, 0.01940, 0.05081, 0.28520 | 0.07174 | 0.069030 | 6.9030 | 7 |
RM25 | 0.00200, 0.00890, 0.01933, 0.13990 | 0.03306 | 0.031811 | 3.1811 | 10 |
The alternatives A1, A2 and A3 here are chosen as different datasets from three different fields. A1 is John Musa Bell Laboratories failure dataset, A2 is MyLynn application bug report from Java software, A3 is Apache Lucene server failure dataset [
Reliability models/alternatives | A1 | A2 | A3 |
---|---|---|---|
RM11 | b/w M&G | al G | b/w M&G |
RM12 | am M | al G | am M |
RM13 | al G | b/w M&G | al G |
RM14 | am M | al G | b/w VB&M |
RM15 | al G | am M | b/w M&G |
RM21 | b/w M&G | b/w VB&M | al G |
RM22 | b/w VB&M | b/w VB&M | am M |
RM23 | am M | am M | b/w VB&M |
RM24 | al G | b/w VB&M | b/w M&G |
RM25 | b/w M&G | am M | al G |
Reliability models/ alternatives | A1 | A2 | A3 | |
---|---|---|---|---|
RM11 | 0.3300, 0.5000, 0.6700, 0.8300 | 0.5000, 0.8500, 1.0000, 1.0000 | 0.3300, 0.5000, 0.6700, 0.8300 | |
RM12 | 0.0000, 0.0000, 0.3500, 0.6700 | 0.5000, 0.8500, 1.0000, 1.0000 | 0.0000, 0.0000, 0.3500, 0.6700 | |
RM13 | 0.5000, 0.8500, 1.0000, 1.0000 | 0.3300, 0.5000, 0.6700, 0.8300 | 0.5000, 0.8500, 1.0000, 1.0000 | |
RM14 | 0.0000, 0.0000, 0.3500, 0.6700 | 0.5000, 0.8500, 1.0000, 1.0000 | 0.0000, 0.3000, 0.3700, 0.6700 | |
RM15 | 0.5000, 0.8500, 1.0000, 1.0000 | 0.0000, 0.0000, 0.3500, 0.6700 | 0.3300, 0.5000, 0.6700, 0.8300 | |
RM21 | 0.0000, 0.3000, 0.3700, 0.6700 | 0.0000, 0.3000, 0.3700, 0.6700 | 0.5000, 0.8500, 1.0000, 1.0000 | |
RM22 | 0.0000, 0.3000, 0.3700, 0.6700 | 0.0000, 0.3000, 0.3700, 0.6700 | 0.0000, 0.0000, 0.3500, 0.6700 | |
RM23 | 0.0000, 0.0000, 0.3500, 0.6700 | 0.0000, 0.0000, 0.3500, 0.6700 | 0.0000, 0.3000, 0.3700, 0.6700 | |
RM24 | 0.5000, 0.8500, 1.0000, 1.0000 | 0.0000, 0.3000, 0.3700, 0.6700 | 0.3300, 0.5000, 0.6700, 0.8300 | |
RM25 | 0.3300, 0.5000, 0.6700, 0.8300 | 0.0000, 0.0000, 0.3500, 0.6700 | 0.5000, 0.8500, 1.0000, 1.0000 |
Reliability models/ alternatives | A1 | A2 | A3 | |
---|---|---|---|---|
RM11 | 0.05123800, 0.07763400, 0.10402960, 0.12887240 | 0.0776340, 0.1319780, 0.1552680, 0.1552680 | 0.05123840, 0.07763400, 0.10402956, 0.12887244 | |
RM12 | 0.00000000, 0.00000000, 0.03902465, 0.07470433 | 0.0557495, 0.0947745, 0.1114990, 0.1114990 | 0.00000000, 0.00000000, 0.03902465, 0.07470433 | |
RM13 | 0.09743850, 0.16564545, 0.19487700, 0.19487700 | 0.06430941, 0.09743850, 0.13056759, 0.16174791 | 0.09743850, 0.16564545, 0.19487700, 0.19487700 | |
RM14 | 0.00000000, 0.00000000, 0.05120885, 0.09802837 | 0.0731555, 0.1243645, 0.1463110, 0.1463110 | 0.00000000, 0.04389330, 0.05413507, 0.09802837 | |
RM15 | 0.04192750, 0.07127675, 0.08385500, 0.08385500 | 0.00000000, 0.00000000, 0.02934925, 0.05618285 | 0.02767215, 0.04192750, 0.05618285, 0.06959965 | |
RM21 | 0.00000000, 0.02024370, 0.02496723, 0.04521093 | 0.00000000, 0.02024370, 0.02496723, 0.04521093 | 0.03373950, 0.05735715, 0.06747900, 0.06747900 | |
RM22 | 0.00000000, 0.01559970, 0.01923963, 0.03483933 | 0.00000000, 0.01559970, 0.01923963, 0.03483933 | 0.00000000, 0.00000000, 0.01819965, 0.03483933 | |
RM23 | 0.00000000, 0.00000000, 0.03075520, 0.05887424 | 0.00000000, 0.00000000, 0.03075520, 0.05887424 | 0.00000000, 0.02636160, 0.03251264, 0.05887424 | |
RM24 | 0.0345150, 0.05867550, 0.0690300, 0.06903000 | 0.00000000, 0.02070900, 0.02554110, 0.04625010 | 0.02277990, 0.03451500, 0.04625010, 0.05729490 | |
RM25 | 0.01049763, 0.01590550, 0.02131337, 0.02640313 | 0.00000000, 0.00000000, 0.01113385, 0.02131337 | 0.01590550, 0.02703935, 0.03181100, 0.03181100 |
Alternatives | d+ |
d− |
Gap degree of CC+ |
Satisfaction degree of CC− |
|
---|---|---|---|---|---|
A1 | 0.828133 | 0.009021 | 0.989224 | 0.010776 | |
A2 | 0.757841 | 0.017915 | 0.976906 | 0.023094 | |
A3 | 0.828133 | 0.009021 | 0.989224 | 0.010776 |
Alternatives are comparatively closer to one another, according to
As observed by the experts, sufficient consistency is intertwined with acceptable reliability. Thus this partnership has made reliability the primary priority of the practitioners who are working on inventing mechanisms to achieve the desired target in this context. With the help of simple-to-use solutions that are uncomplicated, organizations can achieve acceptable efficiency. In this league, most of the technology firms embrace innovations that boost efficiency and reliability at the same time.
The main objective of this empirical analysis was to test the prediction models of software development for software reliability. The evaluation section of the paper integrates all the models of software reliability for evaluation in order to achieve the objective. In addition, the dataset alternatives showed the effect of the analysis on various datasets. For programmers, the results obtained will be useful in meeting the requirements of software reliability. In order to boost performance and users’ satisfaction during software development, this study will help in the easy and effective use of reliability management techniques. The excellent features of this research also include the following:
The quality experts deserve a more concerted emphasis on reliability prediction models. This study proposes a direction for practitioners to gain insight into the trustworthiness model. The only way to achieve a successful outcome is numerical evaluation and assessment of different prediction models of reliability. The findings of the study establish that Furthermore, this prioritization table can be a conclusive reference for achieving high reliability. The authors have assessed ten reliability prediction models in this study that can be used during the production of software.
In this paper, we took three alternatives from various databases of different scenarios and gathered the opinions of practitioners about the prediction models of software reliability. Data obtained from practitioners were compiled by Fuzzy AHP-TOPSIS. The conclusion and limitations of this work can be summarized as:
Hesitant fuzzy sets are used at one location to minimize the hesitation of decision-makers and allow them to make reasonable decisions. The use of hesitant fuzzy sets in decision-making, on the other hand, makes computation complex. This can impact the end results as well. The data gathered in this study may be restricted to existing tools, which may be broadened according to the environment. There might be other software reliability prediction models that may have been ignored during this analysis. Fuzzy-AHP has been found to yield well-organized results instead of AHP. It thus emerges as a highly accurate procedure for estimating the prediction models for software reliability.
As a first landmark, this contribution portrays an evaluation outline to estimate the priority of reliability prediction models by using Hesitant-Fuzzy AHP-TOPSIS methodology. The most prioritized software reliability prediction model found across the framework and presented hierarchy is the Neuro-fuzzy computing model. Therefore, the findings clearly indicate that the developers should prioritize Neuro-fuzzy computing model to achieve stable and quality software.
The work is funded by Grant No. 12-INF2970-10 from the National Science, Technology and Innovation Plan (MAARIFAH), the King Abdul-Aziz City for Science and Technology (KACST), Kingdom of Saudi Arabia. We thank the Science and Technology Unit at Umm Al-Qura University for their continued logistics support.