You are on page 1of 2

Application of Deep Learning for Software Defect Prediction

31st August 2020

Team Members
1. Nameet Kumar Jain 2K18/CO/221
2. Pranay Bansal 2K18/CO/251

Topic: Software Defect Prediction


Software systems have become larger and more complex than ever. Such
characteristics make it very challengeable to prevent software defects. Therefore,
automatically predicting defects in software modules is necessary and may help
developers efficiently to allocate limited resources. Various approaches have
been proposed to identify and fix such defects at minimal cost. However, the
performance of these approaches require significant improvement. Therefore, in
this paper, we propose a novel approach that leverages deep learning techniques
to predict defects in software systems.

Algorithms To be used
Following are the Algorithms we would be using to get our task done.
 Natural Language Processing
 Neural Networks
 Artificial Neural Networks
 Convolutional Neural Networks
 Recurrent Neural Networks

Deliverables
As a result of the proposed algorithm, software development practitioners can
detect defects in software just in time, which can lead to better software
development.

Idea Involved
We are planning to implement and test multiple algorithms and modify them
according to the dataset. Starting from the root level of software development i.e.
Object Oriented Programming we will train our algorithms to spot possible errors
in classes and modules just in time. Different algorithms would be employed for
serving different purposes. We would also be using different data collection tools
for extracting data from software repositories to work upon.

1
Implementation Plan
Multiple Steps would be involved in the successful execution of the project, they
are listed below:
1. Data Collection: Collection of historical data from various software repositories.
2. Data Understanding: This phase revolves around data gathering, exploration and comprehension
or more commonly known as Exploratory data analysis (EDA).
3. Data preparation: Preparing the data for it to be ready for model training, this step involves data
cleaning, missing value handling, transforming data to be trainable.
4. Data Modelling: The most important step, it involves selection of right family of models for our
data and training our data on it.
5. Model Evaluation: Involves multiple steps starting from evaluating model accuracy to
performance and computation speed and finally model generalization on unseen data.
6. Model Deployment: After the model is done with all the above stages it is finally deployed.

You might also like