You are on page 1of 21

Faculty of Computing and Informatics (FCI)

Multimedia University, Cyberjaya

TIS3151 - Software Reliability & QA


Group Assignment
Trimester 1, 2020/2021

A review on artificial intelligence techniques in predicting


software quality

Arun Prasath a/l Athappan 1171101800 TT04


Muhammad Alif Haikal bin Abdul Rahman 1181301938 TT04
Arvin a/l Thangaraju 1151202432 TT04
Gana Bathy Rao a/l Maraiah Rao 1141128654 TT03
Maryam Omar Hussain Al-Durra 1171302514 TT03
Wong Shou Hong 1161100695 TT04

TC02 / The Nanobots

Ts. Dr. R. Kanesaraj A/L Ramasamy


A review on artificial intelligence technique in predicting software quality

Abstract: Software quality results in consistency. Software quality provides safety from hazardous errors that affect
the functionality of software products. Poor quality leads to dissatisfaction from the stakeholders and loss of
interests in the market. Software quality has a great impact on the bottom line of the software which might result in a
tremendous impact on the software’s future. Software Quality is considered as the most important factor to ensure
the reliability of software products. Software Quality prediction models help identify the problems that are caused
by the software systems , they tempt to predict the quality factors. Identifying software modules tends to help
improvised resource planning and managing the software cost. Software quality prediction models are generally
developed using a structural measurement of software (source code metrics (SCMs)).Software fault prediction
models are employed by researchers to optimize the testing process by identifying fault-prone classes before testing
phases start. The performance of a model to assess fault-proneness depends on the SCMs, which are considered as
the input for the model.The objective of this work is to use such measurement effectively and derive the relation
between these internal structural properties with relevant external system qualities such as reliability, change-
proneness, maintainability. Many researchers have proposed models where Artificial intelligence can be used in
predicting the software Quality. In this paper we will review techniques like fuzzy logic , genetic algorithm and
decision tree that are being used for the prediction of software Quality with an analysis on each technique.
1 Introduction

Software Quality is an important functional problem that deals with how a software system can
correctly execute a certain task. Specifically, the standard of software is thought of in terms of
compliance with specifications and absence of defects (Khan, Shamail, Awais, & Hussain,
2006).
While Pattnaik and Pattanayak (2016) stated that system performance can be measured by using
the quality of software. The software quality can be divided into two which is internal and
external quality. The internal quality can be studied through software development life cycle
(SDLC) cycle, while the external quality is compared to the operations that may rely upon a few
internal quality attributes.
In this generation of advanced technology, the software quality is very fundamental.
According to Khan, Shamail, Awais, and Hussain (2006), If software quality can be predicted,
this will help many companies avoid building bad software systems but predicting software
quality is a complicated task. Existing software metrics will need to be shortened and processed
into a brilliant way so that software quality can be predicted as close as the actual product
quality.
The software quality prediction models allow for identifying possible quality problems caused by
software systems. These models are based on multiple metrics available during the early stages
of SDLC like product size, software complexity, coupling and cohesion (Khan, Shamail, Awais,
& Hussain, 2006). Pattnaik and Pattanayak (2016) also states that these models can be used to
predict the external quality features as an operation based on multiple internal quality features.
Various models that use Artificial Intelligence (AI) techniques for software quality
prediction have been proposed by many researchers. In this research paper we will be focusing
on three different techniques which are fuzzy logic, genetic algorithm (GA) and decision tree
technique. Research has been conducted on these techniques for software quality prediction from
different authors and are discussed thoroughly in section 2. Section 3 presents the analysis of our
findings in literature review. Finally, section 4 concludes the paper with recommendations.
2 Related works/Literature Review

2.1 Fuzzy Logic

Fuzzy logic is a computing method based on “degrees of truth” (Rouse, 2016).


These “degrees of truth” can be in a range of between 1 and 0 or even high, medium or low.
Contrast to the Boolean logic and binary which results in a crisp value of true or false and 0 or 1.
Fuzzy logic was invented by Lotfi Aliasker Zadeh, a computer scientist and mathematician in
1965. His observation concludes that humans utilize a range of possibilities between yes and no
to make a decision in contrast to computers.
Fuzzy logic systems architecture has four main parts which are Fuzzication Module,
Knowledge Base, Inference Engine, Defuzzification Module (Artificial Intelligence - Fuzzy
Logic Systems., n.d.). Fuzzication module transforms the system inputs into fuzzy sets and splits
it into five categories such as Large Positive(LP), Medium Positive(MP), Small(S), Medium
Negative(MN), Large Negative(LN). Knowledge Base is responsible for storing the IF-THEN
rules produced by the domain experts. Based on the inputs and IF-THEN rules, the Inference
Engine conducts a humanlike reasoning using fuzzy inference. Defuzzification Module
transforms the fuzzy set into a crisp value.
One of the important reasons to consider Fuzzy logic to predict software quality is
because Fuzzy logic can help deal with uncertainty, imprecision, approximation and partial truth
in engineering problems (Al-Jamimi, H. A., 2016).

Pattnaik et al (2019) has proposed a unique pragmatic model for the evaluation of the
software quality factor. This model is modified based on the existing ISO Model which can be
divided into three different perspectives such as developer, user and project manager perspective.
Based on the proposed model, Software quality is evaluated by using triangular fuzzy sets to
show the software quality metrics. Each metric has an equivalent rating and metrics. These
linguistic values are stated as very low, low, average and very high and are depicted by triangular
fuzzy sets. In conclusion, their approach was stated to have a higher accuracy of software quality
prediction compared to the previous model.
Moreover, Masood and Khan (2018) have proposed that software quality is predicted at
an early stage of software development that is Software Requirements Specification (SRS). Raw
text is extracted from SRS, thus multiple attributes were extracted. Some metrics were separated
out and used as an input for Fuzzy Inference System (FIS) to predict software quality. Finally,
Masood and Khan (2018) stated that the proposed approach in predicting software quality has
better performance compared to domain experts' decision quality.
Besides using fuzzy logic, several researchers had introduced methods with a
combinational method of fuzzy logic and neural networks to predict software quality. Using a
dataset of John Musa of Bell Laboratories received from IEEE repository. Sahu and Srivastava
(2018) had managed to compare fuzzy method, neural network, fuzzy-neural network and
neural-fuzzy techniques to predict the software reliability and had founded out that fuzzy-neural
method is the best between fuzzy, fuzzy-neural, neural-fuzzy and neural network in term of its
accuracy and robustness. In the research, only time to failure data of bell laboratories have been
considered despite other many factors to predict software reliability

Pattnaik et al (2018) has also proposed a combination of fuzzy logic and neural network
in predicting software and quality and stated that metric used are number of children, intensity of
inheritance tree, weighted procedure per class coupling between objects, response for a class and
inherited coupling. The metrics were then act as the input to the proposed fuzzy logic neural
network (FLNN) model and the output are maintainability, efficiency usability and functionality.
The model proposed is a combination of fuzzy logic concepts along with a three-tier neural
network architecture.

In addition, Bhuyan, Mohapatra, and Sethi (2016) have proposed an adaptive model
which is using a combination of min-max algorithm and recurrent neural network technique for
predicting software quality formed on delay line-buffer architecture”. Data set is structured
among failure sequence numbers with failure time data. Interrelationship between software
failure time data is modeled using an optimization method. Based on their findings, their
approach is giving accurate results in predicting software quality compared to other methods.

Software defects are also an important factor in predicting software quality. Al-Jamimi
(2016) had proposed a software quality prediction model based on fuzzy logic by using different
kinds of software metrics. Sugeno fuzzy inference engine is used in the proposed model and the
prediction is confirmed using real software projects data. Expert’s opinion and software metrics
are used as the input for the models. The aim of using it as the input is to produce understandable
software defects forecasted by the model that helps translate the functional dependencies
accordingly to humans. Several testing were done to elicit the superior and common metrics.
Expert’s intelligence is utilized to distinguish the membership function of the input and output
metrics. The input variables were categorized into five linguistic divisions such as very high,
high, moderate, low and very low. The produced output is then validated using a level that has
been set by the experts to determine a module faultiness.

Rai et al. (2017) has proposed a method that achieved a defect density of 2.0
defect/KLOC (1 thousand line of code) by using fuzzy logic. In order to achieve that at an
affordable cost, early defect prediction had to be done. To help evaluate the residual defects of
the software in the initial phases of SDLC, software metrics like size metric and complexity
metric are used. Their proposed model has shown that 82.6% defects in the software comes from
the requirement, 12.7% defects occur during implementing the code in the coding phase and
2.8% defects in a software comes from design phases.

2.2 Genetic Algorithm

Genetic algorithms are randomized managed algorithms designed to mimic naturally


occurring selection dynamics and natural genetics. A genetic algorithm 's characteristics can
handle the coding of the set parameter, not the parameters themselves, and activates its quest
from a point population, not one point. In addition to that, genetic algorithms use knowledge of
the payoffs, not derivatives. Then, it uses probabilistic and not deterministic rules for the
transformation.

Based on Shawn Anderson (2017), genetic algorithms are ideally suited for problems
where health is specifically assessed. Genetic algorithms are widely used to produce high-quality
methods for problem solving through biologically motivated operators such as mutation,
crossover and selection.

A genetic algorithm (GA) is a search technique with a target in a multidimensional space


to find a solution. In general, GA is much faster than rigorous regularization methods. Genetic
algorithms are special ways of overcoming complex problems by harnessing nature 's power. By
using these methods to predict security prices, traders can improve trade rules by determining the
best values for a given security to use for each parameter.

Murillo-Morera (2017) stated that the basic effort of accurate prediction for projects is
among foremost censorious and complicated problems within the software industry. Aim of
these studies is to validate an automatic genetic framework, conduct analysis through different
genetic configurations and explore performance of the simplest learning schemes. Furthermore,
they had validated an automatic genetic framework, plus conducted a sensitivity analysis across
different genetic configurations. These are the differentiation between a framework with a
random guessing baseline and an exhaustive framework. During this context the mixture of
information pre-processing, learning algorithm with the possible coefficient and attribute
selection.

According to Anju Bala (2019) this term paper it’s all about software testing may be the
most important big part under the development of software designing. Testing helps to determine
the work that it does to attain or not achieve target output. This is normally based on the
procedure for validation and verification, although in basic terms the application review process
is for finding bugs, faults, mistakes of the developed program and it is managed. The testing
process will be different at each level and also has various steps to be completed. Moreover,
there will be many advantages that can be gained through software testing. But there will be
disadvantages through this which are huge investments, men power, tools for software etc. The
quality of the software can be identified using a case generation test. This process will not charge
any maintenance cost. This algorithm is able to ensure the improvement of a software quality by
depending on the mutants.

Following the study conducted by Chayanika Sharma (2013) this paper aims to provide
the best quality software for end users to test software. By testing, software able to fulfill user
specifications and requirements. Although, the sphere of software testing encompasses issues
like effective generation and prioritisation of test cases and many more that require to be tackled.
Different techniques are proposed to overcome these problems. Besides, Genetic Algorithm is
one such kind of technique and its approach to address the various issues encountered during
software testing. Next, this approach improves the fitness function and is able to improve testing
performance. Plus, for the future work will involve applying Genetic Algorithm for regression
testing in web-based applications.

A software fault prediction is a proven technique in achieving high device reliability


according to Sandhu, Khullar, Singh, Bains, Kaur and Singh (2010). The purpose of the
proposed study is to investigate whether metrics available in the early lifecycle, metrics available
in the late lifecycle and metrics available in the early lifecycle combined with metrics available
in the late lifecycle can be used to classify fault-prone modules using Genetic Algorithm
technique. Hence this thesis also explores the capabilities of this algorithm in software quality
prediction. This approach has been tested for NASA software projects with real time defect C
programming language datasets.

Rao, Balaram and Vishnuvardhan (2018) have mentioned statistical modeling has been
often utilized in software engineering to assess quality of software projects. One of its commonly
used applications will be to generate predictive models to determine exactly where a software
system faults. The idea they propose and test in this paper is using Genetic Algorithms (GAs) to
automatically adjust a prediction version's coefficients, so that the cost effectiveness on the
instruction set is actually maximized. The prediction model aims to be cost-effective and tested
differently with respect to traditional models then the models trained using different methods
will produce better performance. The researchers proposed changing model training to give
higher priority to software engineering artefacts with higher defect density.
The Wahono, Hermen and Ahmad (2014) journal suggested an approach to a
combination of genetic algorithm and bagging methodology to enhance the efficiency of
software defect prediction. Neural network ( NN) has high fault tolerance and a high ability to
process nonlinear dynamic software fault data, but due to the difficulty in choosing suitable
network architecture parameters, neural network practicability is limited. Genetic algorithm is
then extended to deal with neural network parameter optimisation. GA is chosen because of the
potential to find a solution in the maximum search space and the use of a global search tool that
greatly improves the capacity to find high-quality solutions within a fair timeframe.

The study conducted by Rajkumar and Viji (2019) emphasizes that the current research
method for accurate prediction of software faults does not concentrate the constraints between
software modules and does not focus on classification performance. Furthermore, the researchers
are conducting experiments using the newly established technique called Optimal and Reliable
Prediction of System Faults (ORPSF) to obtain the system prediction's accurate result. Optimum
feature selection is accomplished by using Genetic Algorithm to know the interconnections
between the various features. A series of tests are planned and conducted to test the efficacy of
the novel scheme on datasets gathered from real-world software projects, which includes NASA
software projects, and Eclipse projects typically used by researchers to predict software faults.
2.3 Decision Tree

Decision trees are a sustaining equipment to make decisions using a tree graph and
impacts that might be happening. Decision tree is one of illustrating methods of an algorithm.
Decision trees are applied frequently in production study, especially in analysing judgement, to
support evaluate a scheme that has most possibility in achieving target. In a condition that
practice judgement is applied without recall under deficient understanding, antithetic of a
decision tree using a probability module as a most suitable module. Decision trees have another
function to act as an explanation tool for evaluating conditional possibilities.
Comparing categorization ways, these models benefit from its simpleness and ease in
model explanation. They are especially suitable to be used for data mining and time taken to
construct is faster than other categorization ways. Categorization trees can be likely switched to
SQL statements which have access to databases.
According to study by Laveena Sehgal, Neeraj Mohan, and Dr. Parvinder S.Sandhu
(2012), they did test using the J48 Decision Tree algorithm to test a software’s possibility of
causing an error. J48 loads a set of data and constructs decision trees. The data set consists of
categorized specimens. The algorithm picks one characteristic of the data that has highest
efficiency in breaking up the specimens into subsets abounded in classes at every node of the
tree. Its standard is the normalized message obtained from picking a characteristic for breaking
up the data. The characteristic with maximum normalized message obtained is picked to have the
final judgement. The algorithm then proceeds to the smaller sub lists. There are four groups of
the confusion matrix which are True positives (TP) are correctly categorized, False positives
(FP) are not reusable models marked wrongly as reusable models, True negatives (TN) are not
reusable models properly categorized and False negatives (FN) are reusable models wrongly
categorized as not reusable models.
According to study by Taghi M. Khoshgoftaar and Naeem Seliya (2002), this paper
describes the usefulness of using the SPRINTdecision tree algorithm in predicting quality of
software. SPRINT algorithm is one of the commonly used decision tree algorithms. In this paper,
it compares SPRINT with another decision tree algorithm named CART. This paper studies
software metrics gathered from a very large telecommunication system which consists of 3500
observations or modules. Fault data collected at the model-level by the system are faults that
occurred after unit testing and operating system.
According to Taghi M. Khoshgoftaar, Yi Liu, Naeem Seliya (2003), the software metrics
consists of four product metrics and one process metric. NUMI is the total attempt of the source
file that was examined by system examination in advance. LaCB is the total lines of code for the
source file examined in the coding stage. LOCT is the total lines of code for the source file in
advance of system examination. LaCA is the count of lines of comments for the source file in
advance of the coding stage. Lastly, LaCS is the number of lines of comments for the source file
prior to system examination. NUMI is a process metric, while the others are product metrics.
1211 models were splitted into 807 fit data sets which consisted of 807 models and 404 test data
set. The fit data set is applied to groom the DT model, whereas the test data set is applied to
access its predictive ability for new models. The first SQC module categorizes the models as fp
and nfp following counts of errors. The second SQC module categorizes the models following
the total lines of code.

According to N Gayatri , S Nickolas , A.V.Reddy Software quality prediction models


play a big role in the tool container of techniques for ameliorating the standards and
dependability of systems which are formed on software. The major goal of the software
prediction models is to assist the software quality assurance to achieve the desired evaluation of
the program module that is error-free. Software modelling has different types of cost-sensitive
learning techniques. Some of these methods might be put into any fault based classifier
regardless of any need to change the classification technique. Mainly utilized decision tree
algorithms,and Random Forest, are utilized in a huge comparable study where the cost-based
evaluation of software quality models is accomplished amid the model-training process using the
six unsimilar cost acute learning techniques.

According to Jasenko Hosic, Daniel R. Tauritz , Decision tree is useful as it is considered


to be one of the best classification technique which is being utilized commonly for software
quality prediction, this can be implemented by making use of the tree structure where the root
nodes can be useful to consist of software metrics which can predict the quality. The tree is being
used in the following manner where the nodes inside the tree represents the test of an attribute
and the links represents the output of the test , meanwhile the leaves represents the classification
of the classes. The decision tree is considered to be very useful to compare the performance of
the classifier using the software metrics data set and the results shows that the classifier with less
attributes is more accurate than the one with more attributes , which increased the accuracy and
decreased the error rate.

According to Naeem Seliya and Taghi M. Khoshgoftaar , Due to the problem that is
known in decision tree methods , a method where genetic programming is being used has been
developed to improve decision trees. The GP helps to improve the method by making more than
a guess based on population. Then these guesses have been divided into fragments and put
together again until the condition is terminated. Decision tree is used to represent a solution in
the classic GP , where the leaf node represents a terminal value , the internal nodes represent the
functionality that is related to the terminals. This is the best structure to use for categorizing
applications. This structure also requires a few seconds only to execute.
3 Discussion/ Analysis

Fuzzy logic based quality prediction models enable quality prediction at an early stage in
the software development cycle which can minimize the risk and therefore minimize the cost of
developing the software. The early phase includes elicitation, analysis, design and coding phases.
Using a fuzzy inference system,we can tackle real life decision taking involving lack of accuracy
and uncertainty by dealing it with simple descriptive input or output words such as high or low.
However, since there are no standard rules to construct the membership functions for the fuzzy
inference system, it requires experts’ knowledge which probably can affect the results if not
done critically. These artificial intelligence techniques can also be combined with each other to
propose a better software quality prediction that shows quite promising results like the research
done by Sahu and Srivastava (2018). Therefore, more research can be done in the future
involving this idea of combining artificial intelligence techniques in order to improve software
quality prediction models as technology progresses. In our opinion, the ability to predict software
quality as early as possible with a high accuracy and the case of involving uncertainty in the
dataset is very crucial in order to avoid organizational loss because of product failure.
As per the Genetic Algorithm usage development, there are many types of solutions
presented by the researchers. From the related research papers, the researchers provided few
ways and solutions for the Genetic Algorithm. For instance, researcher Ramana, Balaram and
Vishnuvardhan provided an artificial intelligent solution predicting a software quality using
Genetic Algorithm method. The prediction model is cost-effectiveness and tested differently with
respect to conventional models, so better results are shown by models trained using deferential
method. Figure 1 shows the provided equation as the solution using Genetic Algorithm for
predicting their software quality.
Figure 1

The algorithm begins with a GLM or RT configuration which is generated randomly. Use the
selection operator the best or most suitable coefficients are chosen. At the same time a new set of
coefficients are created using Crossover and Mutation operators by recombination technique.
Overall, as regards efficient resource allocation to optimize cost-effectiveness, the researchers
method provided a stronger solution than the previous designs. The proposed approach based on
GA is designed to overcome the limitations of traditional methods so that higher priority is given
to artifacts that exhibit more defects.
Decision Tree based quality prediction models are commonly used because it's lots
simpler than other algorithms. Decision Tree is simpler because it requires less work in
preparation, normalization and scaling of data is unneeded, and its simplicity makes it easier to
be explained to others. However, the decision tree algorithm has some disadvantages. A minor
change in a data will need to change a major part of the structure of the decision tree which is not
stable. Decision Tree Algorithm can be combined with other techniques which will come out
with a better software quality prediction. According to the research by Taghi M. Khoshgoftaar,
Yi Liu, Naeem Seliya (2003), decision tree algorithm is combined with one of the Artificial
Intelligence techniques which is Genetic Programming. Genetic Programming is a method that
makes a program more matured, from a random program until a program fits for a particular
task. They found out that the Genetic Programming based decision tree shows great difference in
error rate compared to standard Genetic Programming. This proves that there are a lot of
possibilities in developing better quality prediction models with a combination with decision tree
algorithms. More research can be done in the future combining artificial intelligence techniques
in order to improve software quality prediction especially to cover disadvantages of decision tree
algorithms.

4 Conclusion/Recommendation

Artificial Intelligence (AI) refers to human intelligence simulation of machines which are
programmed to think like humans and imitate their behaviour. The word can also refer to any
computer that demonstrates human mind-related characteristics such as educating and problem-
solving. Based on the above information, the use of various methods of artificial intelligence
techniques in software quality prediction is reviewed in literature. We had studied the different
techniques involved in this decade from the literature review for perfect software defect
prediction and had detailed various forms of software quality assurance solutions using various
AI techniques such as fuzzy logic, decision tree algorithm, and genetic algorithm.

Then we had found out that all of this would have a huge effect on software defect
prediction in future research. Other than that, both of these strategies have similarities that are for
software quality, it depends on the internal quality attributes that can be found during its
development but on software implementation for external quality attributes. Besides that, the role
of internal quality attributes for all the above-mentioned techniques always expressed by the
external version. As evaluated, none of the techniques produced a higher precision than 88 %.
Yet they all had a wider reach in the area of software quality prediction.
Reference

1. Al-Jamimi, H. A. (2016, August). Toward comprehensible software defect prediction


models using fuzzy logic. In 2016 7th IEEE International Conference on Software
Engineering and Service Science (ICSESS) (pp. 127-130). IEEE.

2. Anju Bala, Rajender Singh Chhillar,International Journal of Recent Technology and


Engineering (IJRTE) ISSN: 2277-3878, Volume-8 Issue-2S10, September 2019.

3. Artificial Intelligence - Fuzzy Logic Systems. (n.d.). Retrieved from


https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_fuzzy_logic_
systems.htm.

4. Bhuyan, M. K., Mohapatra, D. P., & Sethi, S. (2016). Software Reliability Prediction
using Fuzzy Min-Max Algorithm and Recurrent Neural Network Approach. International
Journal of Electrical and Computer Engineering (IJECE), 6(4), 1929.
doi:10.11591/ijece.v6i4.9991.

5. Chayanika Sharma, Sangeeta Sabharwal , Ritu Sibal3 Department of computer Science


and Information Technology, University of Delhi, Netaji Subhas Institute of Technology
Azad Hind Fauz Marg, Dwarka, Sector -3, New Delhi - 110078, India.

6. Evett, M., & Khoshgoftaar, T. (1999). Using genetic programming to determine software
quality. In Proceedings of the Twelfth International Florida Artificial Intelligence
Research Society Conference.

7. Sumbaly, R., Vishnusri, N., & Jeyalatha, S. (2014). Diagnosis of breast cancer using
decision tree data mining technique. International Journal of Computer Applications,
98(10).

8. Int. J. of Recent Trends in Engineering and Technology, Vol. 2, No. 4, Nov 2009.
9. J.V. Ratnam 1, H.A. Dijkstra2, Takeshi Doi1, Yushi Morioka1, Masami Nonaka1 &
Swadhin K. Behera 1.

10. Hosic, J., Tauritz, D. R., & Mulder, S. A. (2014, July). Evolving decision trees for the
categorization of software. In 2014 IEEE 38th International Computer Software and
Applications Conference Workshops (pp. 337-342). IEEE.

11. John Wiley & Sons, Inc. Volume 1, September/October 2011.

12. Laveena Sehgal, Neeraj Mohan, and Dr. Parvinder S.Sandhu (2012, September).Quality
Prediction of Function Based Software Using Decision Tree Approach. International
Conference on Computer Engineering and Multimedia Technologies (ICCEMT'2012)

13. Masood M.H., Khan M.J. (2018) Early Software Quality Prediction Based on Software
Requirements Specification Using Fuzzy Inference System. In: Huang DS., Gromiha M.,
Han K., Hussain A. (eds) Intelligent Computing Methodologies. ICIC 2018. Lecture
Notes in Computer Science, vol 10956. Springer, Cham. https://doi.org/10.1007/978-3-
319-95957-3_75.

14. Khan, M. J., Shamail, S., Awais, M. M., & Hussain, T. (2006, December). Comparative
study of various artificial intelligence techniques to predict software quality. In 2006
IEEE International Multitopic Conference (pp. 173-177). IEEE.

15. Murillo-Morera, J., Quesada-López, C., Castro-Herrera, C., & Jenkins, M. (2017). A
genetic algorithm based framework for software effort prediction. Journal of software
engineering research and development, 5(1), 4.

16. M. Surendra Naidu, Dr .N. Geethanjali (2013, June). Classification Of Defects In


Software Using Decision Tree Algorithm. Vol. 5 No.06 in International Journal of
Engineering Science and Technology (IJEST).
17. Naeem Seliya, Taghi M. Khoshgoftaar (2001, September/October). The Use of Decision
Tree For Cost-Sensitive Classification: An Empirical Study In Software Quality
Prediction.

18. Pattnaik, S., & Pattanayak, B. K. (2016). A survey on machine learning techniques used
for software quality prediction. International Journal of Reasoning-based Intelligent
Systems, 8(1/2), 3. doi:10.1504/ijris.2016.080058.

19. Pattnaik, S., Pattanayak, B. K., & Patnaik, S. (2018). Prediction of software quality using
a neuro-fuzzy model. International Journal of Intelligent Enterprise, 5(3), 292-307.

20. Pattnaik, S., Pattanayak, B. K., & Patnaik, S. (2019). Software Quality Prediction Using
Fuzzy Logic Technique. International Journal of Information Systems in the Service
Sector (IJISSS), 11(2), 51-71. doi:10.4018/IJISSS.2019040104.

21. Rai, A., Choudhury, T., Sharma, S., & Ting, K. C. (2017, December). An efficient
method to predict software quality using soft computing techniques. In 2017 3rd
International Conference on Applied and Theoretical Computing and Communication
Technology (iCATccT) (pp. 347-353). IEEE.

22. Rajkumar, N., & Viji, C. An Efficient Software Fault Prediction Scheme to Assure
Qualified Software Implementation using Improved Classification Methods.

23. Rao, G. R., Balaram, V. V. S. S. S., & Vishnuvardhan, B. COST SENSITIVE


SOFTWARE DEFECT PREDICTION TECHNIQUE USING GENETIC ALGORITHM.

24. Rouse, M. (2016, August 26). What is fuzzy logic? - Definition from WhatIs.com.
https://searchenterpriseai.techtarget.com/definition/fuzzy-logic#:~text=Fuzzy%20logic
%20is20an%20apprach.at%20Berkeley%20in%20the%201960s.
25. Shawn Anderson (October 9,2017). When and how to solve problems with GA.
https://spin.atomicobject.com/2017/10/09/genetic-algorithm-example/.

26. Sahu, K., & Srivastava, R. K. (2018). Soft computing approach for prediction of software
reliability. ICIC Express Lett, 12(12), 1213-1222.

27. Sandhu, P. S., Khullar, S., Singh, S., Bains, S. K., Kaur, M., & Singh, G. (2010). A Study
on Early Prediction of Fault Proneness in Software Modules using Genetic Algorithm.
World Academy of Science, Engineering and Technology, 72.

28. Taghi M. Khoshgoftaar, Naeem Seliya (2002, November). Software Quality Classification
Modeling Using The SPRINT Decision Tree Algorithm.

29. Taghi M. Khoshgoftaar, Yi Liu, Naeem Seliya (2003, January). Genetic Programming-

Based Decision Trees for Software Quality Classification . 15th IEEE International
Conference on Tools with Artificial Intelligence (ICTAI 2003)

30. Wahono, R. S., Herman, N. S., & Ahmad, S. (2014). Neural network parameter
optimization based on genetic algorithm for software defect prediction. Advanced
Science Letters, 20(10-11), 1951-1955.

31. Roetzel, W., Heggs, P. J., & Butterworth, D. (Eds.). (2012). Design and Operation of
Heat Exchangers: Proceedings of the EUROTHERM Seminar No. 18, February 27–
March 1 1991, Hamburg, Germany (Vol. 18). Springer Science & Business Media.

Table 1

Student Name Task Completed Total Project Percentage


(Point Form) Involvement (TOTAL:
100%)
Arun Prasath a/l ● Literature review for 16.7
Athappan Fuzzy Logic
● Introduction
● Analysis

Muhammad Alif Haikal ● Literature review for 16.7


bin Abdul Rahman Fuzzy Logic
● Introduction
● Analysis

Arvin a/l Thangaraju ● Literature review for 16.7


Genetic Algorithm
● Analysis
● Conclusion

Gana Bathy Rao a/l ● Literature review for 16.7


Maraiah Rao Genetic Algorithm
● Analysis
● Conclusion

Maryam Omar Hussain ● Literature review for 16.7


Al-Durra Decision Tree
● Abstract
● Analysis

Wong Shou Hong ● Literature review for 16.7


Decision Tree
● Abstract
● Analysis

You might also like