Abstract

Many software engineering tasks heavily rely on hand-crafted software features, e.g. , defect prediction, vulnerability discovery, software requirements, code review, and malware detection. Previous solutions to these tasks usually directly use the hand-crafted features or feature selection techniques for classification or regression, which usually leads to suboptimal results due to their lack of powerful representations of the hand-crafted features. To address the above problem, in this paper, we adopt the effort-aware just-in-time software defect prediction (JIT-SDP), which is a typical hand-crafted-feature-based task, as an example, to exploit new possible solutions. We propose a new model, named neural forest (NF), which uses the deep neural network and decision forest to build a holistic system for the automatic exploration of powerful feature representations that are used for the following classification. NF first employs a deep neural network to learn new feature representations from hand-crafted features. Then, a decision forest is connected after the neural network to perform classification and in the meantime, to guide the learning of feature representation. NF mainly aims at solving the challenging problem of combining the two different worlds of neural networks and decision forests in an end-to-end manner. When compared with previous state-of-the-art defect predictors and five designed baselines on six well-known benchmarks for within- and cross-project defect prediction, NF achieves significantly better results. The proposed NF model is generic to the classification problems which rely on the hand-crafted features.

Highlights

  • Hand-crafted software features play a core role in many software engineering tasks, such as defect prediction, software vulnerability discovery, software requirements, software code review, and malware detection

  • RESEARCH QUESTIONS To evaluate the effectiveness of neural forest (NF), we investigate the following three research questions: RQ1: How well does NF predict defect-inducing changes when compared with the designed baselines and previous state-of-the-art models for within-project effort-aware just-in-time software defect prediction (JIT-SDP)?

  • We can see the fifth group of parameters achieves the best performance on the JDT dataset and a good trade-off across all metrics on the Bugzilla dataset

Read more

Summary

Introduction

Hand-crafted software features play a core role in many software engineering tasks, such as defect prediction, software vulnerability discovery, software requirements, software code review, and malware detection. We select a typical task in software engineering, just-in-time software. It can locate the defects at the fine-granularity level and help developers narrow down the code needed for inspection. Effort-aware JIT-SDP takes into consideration the effort needed to inspect the code that is related to the defect-inducing changes. It is more important in practice due to the limited debugging resources and tight development schedules [9], [11], [13]. We mainly focus on effort-aware JIT-SDP in this paper

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call