SVVT Ass5
SVVT Ass5
The SREPT follows two approaches for software reliability prediction, they are black-box based
and architecture based.
● Architecture is taken as the input and Predicted Reliability and Performance are taken as
the output.
● Failure behavior of components and Predicted Reliability and Performance are taken as
the output.
The regression tree model is a goal-oriented statistical method that uses the static
product/process metrics to try to predict the number of bugs in a software module. Data sets
from similar software development projects from the past are used to build the tree, which is
then used to predict how the current project will go. So, software product/process metrics can
be used to predict early on how many bugs are in a software product's modules. This can help
point testing and validation efforts in the right direction.
The software's performance is based on its architecture. It can be used to find performance
bottlenecks, analyse platform changes, figure out what would happen if software was moved
from a sequential platform to a distributed one, and so on. The performance model can be used
to figure out different performance measures, such as how long it will take to finish the
application. The architecture of the software, how the modules fail, and how the interfaces fail
can all be put together to make a composite model that can then be used to make predictions
about how reliable the software will be. Another way to predict reliability is to solve the
architecture model and then add the behaviour of the modules and interfaces when they fail on
top of the solution. The term for this is "hierarchical model."
In this assignment, we demonstrated the high-level design of a tool that provides a unified
framework for estimating software reliability. This tool can be used to help evaluate the quality of
a software product from the architectural phase all the way through to the operational phase.
This is because the tool uses several software reliability techniques, such as software
product/process metrics-based techniques used in the pre-test phase, interfailure times-based
techniques used during the testing phase, and architecture-based techniques that can be used
at any point in the software's life-cycle. For the first time, architecture-based techniques are
being put into a tool in a planned way. SREPT can also suggest release dates for software
based on release criteria, and it has methods for evaluating software reliability that take repair
times into account. The tool is expected to have a big impact because it can be used at different
points in the software life cycle and because it combines several techniques in a systematic,
easy-to-use way in a GUI-based environment.
Software engineers need to be able to predict reliability because there is more demand than
ever for high-quality software. Even though different models for predicting software reliability
have been made so far, there is always a need for a more accurate model in today's competitive
software industry. This Machine Learning algorithm proposes a neuro-fuzzy hybridized method
for predicting the reliability of a software system by combining self-organized map (SOM) and
fuzzy time series (FTS) forecasting. In this algorithm, the well-known supervised clustering
algorithm SOM and FTS forecasting are combined to make a hybrid model for predicting
software reliability. To prove that the proposed approach works, a software failure dataset is
used to test the proposed neuro-fuzzy method.
The following model to predict the reliability of software is based on self-organized maps and
fuzzy time series. In the proposed method, predicting the reliability of software in a software
system is modelled as a fuzzy time series forecasting problem. This is because software
reliability is hard to predict. There is only one dependent variable in the failure dataset, and
there are no independent variables.
As part of fuzzy time series forecasting, a Software failure dataset that shows the history of how
long it took for a software system to break is used to predict how long it will take for a software
system to break. A Software failure dataset is split up into a number of intervals. A
self-organized-map (SOM) with two layers of an unsupervised neural network was used to
divide the dataset into intervals. Also, fuzzy sets are used to show these intervals by defining
linguistic terms. Each time between failure value in the software failure dataset is given a fuzzy
value based on which interval it belongs to. We used a triangular membership function on each
defined fuzzy set for each interval in the software failure dataset to make it more fuzzy. Build the
fuzzy logical relationships (FLRs) and fuzzy logical relationship groups (FLRGs) that are used to
get the fuzzy forecast values of time to failure of software failure dataset. Lastly, Defuzzification
is used to get the predicted values of software failure dataset's time to failure.
Predicting reliability is an important step in making software that works well. Software reliability
prediction helps the software industry make good, reliable software systems within a certain
time frame and budget. Because of this, researchers have always been interested in making a
model for predicting software reliability that works well and is accurate. In this study, a
neuro-fuzzy hybrid model called SOMFTS is proposed as a way to make accurate predictions
about software reliability. This model can be used by software professionals in the software
industry as a useful tool to predict the reliability of a software system.
The steps followed in this algorithm are summered in this paragraph. Show the software failure
dataset as the whole world of talk U. Use the SOM to divide U into intervals. Give each interval
a language term. Fuzzification of a dataset of software failures. FLRs (fuzzy logical
relationships) are set up for the software failure dataset. FLRGs (Fuzzy logical relationship
groups) will be set up for the software failure dataset. Defuzzify the values in the software failure
dataset that have been fuzzed up and use them to predict how reliable the software is.
Fuzzy systems are easy to understand, which is why we use the fuzzy time series approach.
Neural networks, on the other hand, are often seen as "black boxes" that are hard to
understand. Based on self-organized maps (SOM) and fuzzy time series (FTS), this paper
proposes a neuro-fuzzy hybrid method called SOMFTS to predict the reliability of a software
system based on its history of failures. As far as the author knows, no previous research has
tried to predict a software system's reliability using the hybrid neuro-fuzzy technique SOMFTS.
Tools also include methods for figuring out the best times to release software based on the
reliability estimates that can be gleaned from failure data. For example, the ESTM tool figures
out when to release software by using a stochastic model to find bugs and an economic model
to measure the cost of shipping versus the cost of more testing. The stochastic model used in
ESTM is based on the idea that the times it takes to find faults are distributed exponentially with
rate, say. The economic model takes into account the cost of fixing a bug while testing, the cost
of fixing a bug found in the field, the cost of testing up to some time t plus the cost of not
releasing the software up to time t. The stopping rule for testing is the point at which the extra
cost of testing for another day is exactly equal to the expected net decrease in future costs that
will be caused by bugs found in that day's testing. It also gives a likely estimate of how many
faults are left at that point. ESTM's model can also take into account new or changed
non-commentary source lines while the testing is still going on. This is an interesting feature.
But, once again, ESTM only solves one very important problem in the software life cycle.
The SOMFTS suggests a new way to predict the reliability of a software system based on its
failure history. It does this by combining a well-known unsupervised clustering technique,
self-organized-map, and fuzzy time series (FTS) forecasting. To test the proposed method,
SOMFTS was used on a list of software failures in a military system as part of an experiment. A
comparison study was also done to see how well the proposed method worked by comparing
SOMFTS to four FTS models that were already in use. Based on experiments, the proposed
method can be used in the software industry as a useful tool for predicting how reliable software
will be. The proposed method for predicting how reliable software will be will help the software
industry make good, reliable software systems within a given budget and time frame.
References:
1)B.W. Boehm, A spiral model of software development and enhancement, IEEE
Comput. 21 (5) (1988) 61–72.
2)[Amin et al. 2013] Amin, A., Grunske, L., Colman, A.: “An approach to software
reliability prediction based on time series modeling”; Journal of Systems and
Software, 86, 7 (2013), 1923- 1932.