Transfer Learning Code Vectorizer based Machine Learning Models for Software Defect Prediction

Project Code :TCMAPY278

Objective

In this paper, we propose Transfer Learning Code Vectorizer, a novel method that derives features from the text of the software source code itself and uses those features for defect prediction. Here, we mainly focus on the software code and to convert it into vectors using a pre-trained deep learning language model.

Abstract

Despite of great planning, well documentation and proper process during software development, occurrences of certain defects are inevitable. These software defects may lead to degradation of the quality which might be the underlying cause of failure. Researchers have devised various methods that can be used for effective software defect prediction.

The prediction of the presence of defects or bugs in a software module can facilitate the testing process as it would enable developers and testers to allocate their time and resources on modules that are prone to defects. In this paper, we propose Transfer Learning Code Vectorizer, a novel method that derives features from the text of the software source code itself and uses those features for defect prediction.

Keywords: Machine Learning, Software Defect Prediction, Transfer Learning, Software Metrics

NOTE: Without the concern of our team, please don't submit to the college. This Abstract varies based on student requirements.

Block Diagram

Specifications

HARDWARE SPECIFICATIONS:

  • Processor- I3/Intel Processor
  •  RAM- 4GB (min)
  • Hard Disk- 128 GB
  • Key Board-Standard Window
  •  Keyboard. Mouse-Two or Three Button Mouse.
  • Monitor-Any.

SOFTWARE SPECIFICATIONS:

  • Operating System: Windows 7+
  • Technology: Python 3.6+
  •  IDE: PyCharm IDE
  •  Libraries Used: Pandas, NumPy, Scikit-Learn, Matplotlib.

Learning Outcomes

  • Importance of Supervised Learning.
  • Scope of Software bug detection.
  • Use of neural networks.
  • Importance of PyCharm IDE.
  • How ensemble models works.
  • Benefits in transfer learning.
  • How to vectorize a code.
  • Process of debugging a code.
  • The problem with imbalanced dataset.
  • Benefits of SMOTE technique.
  • Input and Output modules
  • How test the project based on user inputs and observe the output
  • Project Development Skills:
    • Problem analyzing skills.
    • Problem solving skills.
    • Creativity and imaginary skills.
    • Programming skills.
    • Deployment.
    • Testing skills.
    • Debugging skills.
    • Project presentation skills.
    • Thesis writing skills.                                            

Demo Video

mail-banner
call-banner
contact-banner
Request Video
Final year projects