Sunteți pe pagina 1din 3

Proposal for Academic Research

Software Bug Prediction System using Classification


Techniques

Submitted by:

Ashraf Sayed Abdou

Supervisor:

Prof.Dr. Nagy Ramadan

2017
Introduction:
Software testing phase of software development life cycle provide the defects details to the
software developer. The proposed model is capable to predict the defect before going to the
software testing phase. It also minimize the time and cost of the project. The main objective of
this work is to calculate the accuracy and performance of the proposed software bug prediction
model based on different techniques.

Motivation:

Many researchers used many techniques with different dataset that predict faultiness. But there
are so many classification rule algorithms that can be effective to predict faultiness. All these
issues motivates to our research in these field of software fault/defect prediction.

Problem definition:
Poor software quality may be manifested through severe software defects, or software
maintenance may be costly due to many defects requiring extensive effort to correct. Our
objective is to improve the software productivity and quality for software engineers by applying
data mining algorithms to various software engineering tasks.

Objectives of research work:


Our objective is to build prediction model to detect the early bugs of software application. In this
research the target is confined to achieve the followings items:

1. To utilize novel classification algorithm for better prediction.

2. To use better evaluation measurement parameters to get better result.

3. To decrease the software development cost, time and effort by early prediction of fault and
bugs.
Proposed Methodology:
The very common process of predicting software defects is to make use of machine learning
techniques that provide computer systems the ability to learn from data without being explicitly
programmed (Smola & Vishwanathan, 2008). Firstly, data sets are generated from software
repositories including defect tracking systems, source code changes, mail archives, data
extraction and version control systems. Those data sets consist of instances, which can be
software components, files, classes, functions and modules. Based on particular metrics like
static code attributes (Menzies, Greenwald & Frank, 2007) extracted from the software
repositories, an instance is labeled as defective or defect-free. The collected data sets are then
cleaned using preprocessing methods such as noise detection and reduction (Kim, Zhang, Wu &
Gong, 2011), data normalization (Nam, Pan & Kim, 2013), and attribute selection (Menzies et
al., 2007). After that, the preprocessed data sets are used for building a defect prediction model
that is to predict whether new instances contain defects or not. Apart from the binary
classification, this model can estimate the number of defects in each instance. In terms of
machine learning, this estimation is also called regression (Smola & Vishwanathan, 2008).

S-ar putea să vă placă și