Cross Version Defect Prediction with Class Dependency Embeddings

12/29/2022
by   Moti Cohen, et al.
0

Software Defect Prediction aims at predicting which software modules are the most probable to contain defects. The idea behind this approach is to save time during the development process by helping find bugs early. Defect Prediction models are based on historical data. Specifically, one can use data collected from past software distributions, or Versions, of the same target application under analysis. Defect Prediction based on past versions is called Cross Version Defect Prediction (CVDP). Traditionally, Static Code Metrics are used to predict defects. In this work, we use the Class Dependency Network (CDN) as another predictor for defects, combined with static code metrics. CDN data contains structural information about the target application being analyzed. Usually, CDN data is analyzed using different handcrafted network measures, like Social Network metrics. Our approach uses network embedding techniques to leverage CDN information without having to build the metrics manually. In order to use the embeddings between versions, we incorporate different embedding alignment techniques. To evaluate our approach, we performed experiments on 24 software release pairs and compared it against several benchmark methods. In these experiments, we analyzed the performance of two different graph embedding techniques, three anchor selection approaches, and two alignment techniques. We also built a meta-model based on two different embeddings and achieved a statistically significant improvement in AUC of 4.7 baseline method.

READ FULL TEXT
research
12/28/2017

Connecting Software Metrics across Versions to Predict Defects

Accurate software defect prediction could help software practitioners al...
research
02/12/2022

Revisiting the Impact of Dependency Network Metrics on Software Defect Prediction

Software dependency network metrics extracted from the dependency graph ...
research
01/18/2021

Alignment and stability of embeddings: measurement and inference improvement

Representation learning (RL) methods learn objects' latent embeddings wh...
research
04/13/2021

Feature-Oriented Defect Prediction: Scenarios, Metrics, and Classifiers

Several software defect prediction techniques have been developed over t...
research
10/17/2019

Deep Learning Anti-patterns from Code Metrics History

Anti-patterns are poor solutions to recurring design problems. Number of...
research
08/20/2018

Towards Anticipation of Architectural Smells using Link Prediction Techniques

Software systems naturally evolve, and this evolution often brings desig...
research
02/21/2020

The Four Dimensions of Social Network Analysis: An Overview of Research Methods, Applications, and Software Tools

Social network based applications have experienced exponential growth in...

Please sign up or login with your details

Forgot password? Click here to reset