Loading...

Cross-Project Software Defect Prediction with Deep Learning

Alavi Rad, Kimia | 2024

6 Viewed
  1. Type of Document: M.Sc. Thesis
  2. Language: Farsi
  3. Document No: 56976 (19)
  4. University: Sharif University of Technology
  5. Department: Computer Engineering
  6. Advisor(s): Fazli, Mohammad Amin
  7. Abstract:
  8. Software defect prediction is a significant and growing field in software development that focuses on identifying software modules prone to defects before the testing phase. The challenge of lacking historical data has shifted software defect prediction towards a cross-project approach. In this method, identifying defective software modules in a project (target project) is done using historical data collected from other projects (source project). The difference in data distribution between source and target projects is a major challenge in cross-project defect prediction. One way to overcome this challenge is the appropriate selection of the source project, which most existing studies overlook. This research presents an innovative approach to selecting the appropriate source project for each target project, considering that graphs extracted from code accurately reflect its structure. This allows using these graphs to calculate the similarity between two pieces of code. For this purpose, two strategies are introduced: extracting graph-level metrics and extracting graphlets from graphs extracted from abstract syntax trees of the code. Also, given the insufficiency of traditional software metrics to express the meaning of code, the proposed approach uses convolutional neural networks to extract semantic features. This approach is evaluated on ten open-source projects using metrics such as accuracy, F1 score, AUC, precision, and recall, and the results show its superior performance compared to existing methods. This improvement in cross-project software defect prediction highlights the importance of project selection and the extraction of semantic features in this field
  9. Keywords:
  10. Defect Prediction ; Semantic Features ; Deep Learning ; Convolutional Neural Network ; Graphlet-Based Method ; Project Selection ; Abstract Syntax Tree ; Graph-Level Features ; Handcrafted Features

 Digital Object List

 Bookmark

No TOC