Information Technology Reference
In-Depth Information
1
Introduction
Since software projects play major role in nowadays industry, the accurate estimat-
ing of the software development cost is very important. According to the Standish
group report in 2009 [1], just 32% of software projects were on time and on cost in
2009, 44% of the projects were in challenged mode and 24% of projects had been
cancelled. Designing, developing, testing, and all aspects of the software projects
are affected by the relevant estimations and predictions. Software testing is known
as a major factor in increasing the development cost. Faulty modules cause
significant risk by decreasing customer fulfillment and by increasing the testing,
development, and maintenance costs. Early detection of fault-prone software com-
ponents could enable verification experts and testers to concentrate their time and
resources on the problematic areas of the system under development. During the
recent decades, many methods for the software fault prediction have been pro-
posed. Selecting a method as the best one seems to be impossible because the per-
formance of each method depends on the various factors such as different software
measurement metrics, available information, machine-learning techniques and so
on. However, the main aim of all methods is presenting the accurate results.
Area of software fault prediction still poses many challenges and unfortunately,
none of the techniques proposed within the last decade has achieved widespread
applicability in the software industry. This is due to several reasons including the
lack of software tools to automate this prediction process, the unwillingness to
collect the fault data, and other practical problems [2, 3].
Soft computing is a term that is recently become popular in the general area of
prediction. It is a field within computer science that is characterized by the use of
inexact solutions. Soft computing differs from conventional (hard) computing in
that, unlike hard computing, soft computing deals with imprecision, uncertainty,
partial truth, and approximation to achieve practicability, robustness, and low solu-
tion cost [4]. As such, it forms the basis of a considerable amount of machine learn-
ing techniques. Components of soft computing include neural networks, support
vector machines, fuzzy logics, evolutionary computation and so on. Although many
papers have been published on software defect prediction techniques, machine-
learning and soft computing approaches have yet to be fully explored.
In fault prediction process, previous reported faulty data along with distinct
metrics identify the fault-prone modules. However, outliers and irrelevant data in
training set can lead to the imprecise estimations. In fact, in many engineering
problems, we encounter vagueness in information and uncertainty in training sets,
so as these phenomena cause, we could not reach to certain results for our proposed
solution. Our system, models the input information's vagueness through fuzzy
clusters and fault prediction is done based on majority ranking of three most similar
fuzzy clusters with the test data. This system provides more accurate results com-
pared to existing methods based on different classification techniques.
Based on our proposed model we construct 3 research questions that are shown
as follows:
Search WWH ::




Custom Search