CoolFace
Datasetpublic

SuraviAkhter/c-java-source-code

🧩 Cross-Project Defect Prediction (CPDP) Dataset β€” C & Java Projects This repository hosts a custom dataset for Cross-Project Defect Prediction (CPDP) research, curated from a diverse collection of real-world open-source projects written in C (441 projects) and Java (98 projects).The dataset aims to support research on software defect prediction, transfer learning, and imbalanced data handling across heterogeneous programming environments. πŸ“˜ Overview… See the full description on the dataset page: https://huggingface.co/datasets/SuraviAkhter/c-java-source-code.

sourceHugging Facecc-by-4.0updated 11mo agoView on Hugging Face
0likes50downloads
Dataset Card

🧩 Cross-Project Defect Prediction (CPDP) Dataset β€” C & Java Projects

This repository hosts a custom dataset for Cross-Project Defect Prediction (CPDP) research, curated from a diverse collection of real-world open-source projects written in C (441 projects) and Java (98 projects). The dataset aims to support research on software defect prediction, transfer learning, and imbalanced data handling across heterogeneous programming environments.


πŸ“˜ Overview

Language#ProjectsDescription
C441Includes diverse open-source repositories from various domains
Java98Covers projects from academic domains collected from GitHub and other public repositories

Each project folder typically includes:

  • β€”Source code files (.c, .h, .java)
  • β€”Bug/defect labels (where available)
  • β€”Metadata (e.g., LOC, complexity, commits)
  • β€”Preprocessed CSV feature files for ML models

🎯 Purpose

The dataset is designed for:

  • β€”Cross-Project Defect Prediction (CPDP)
  • β€”Transfer Learning and Domain Adaptation studies
  • β€”Feature engineering on static code metrics
  • β€”Benchmarking new software defect prediction models

🧠 Suggested Research Directions

  • β€”Comparison of within-project vs cross-project prediction accuracy
  • β€”Study of language heterogeneity in CPDP (C ↔ Java transfer)
  • β€”Use of oversampling or class balancing methods (e.g., SMOTE, OTOMO)
  • β€”Integration with Bayesian Networks, Deep Learning, or Tensor-based models