CRAVE: Code Review Agent Verdict Evaluation
11
6 commits
1 linked in READMEs
updated Dec 12, 2025
The CRAVE dataset is a balanced, filtered code review classification dataset containing 1,200 samples from 123 repositories and 600 pull requests. This dataset has been filtered and selected for high quality, making it specifically designed for training and evaluating code review agents that can classify pull request changes as either APPROVE or REQUEST_CHANGES.
The dataset is provided as a single unified file (dataset.parquet) to allow maximum flexibility for users. Researchers can create their own splits based on their specific needs:
Optional pre-defined splits are also provided as separate files:
train.parquet: ~960 samples (80%)validation.parquet: ~120 samples (10%)test.parquet: ~120 samples (10%)These splits are based on repository hash to ensure consistent, deterministic splits.
The dataset was created by:
Top repositories by sample count:
@dataset{CRAVE,
title={CRAVE: Code Review Agent Verdict Evaluation},
author={Li Zhang},
year={2025},
url={https://huggingface.co/datasets/TuringEnterprises/CRAVE},
note={Code review classification dataset from curated human code reviews}
}
from datasets import load_dataset
from sklearn.model_selection import train_test_split
# Option 1: Load unified dataset and create custom splits
dataset = load_dataset("TuringEnterprises/CRAVE")
full_data = dataset["train"] # All data is in the "train" split
# Create custom splits (e.g., by repository)
repos = list(set(full_data["repo"]))
train_repos = repos[:int(len(repos) * 0.8)]
val_repos = repos[int(len(repos) * 0.8):int(len(repos) * 0.9)]
test_repos = repos[int(len(repos) * 0.9):]
train_data = full_data.filter(lambda x: x["repo"] in train_repos)
val_data = full_data.filter(lambda x: x["repo"] in val_repos)
test_data = full_data.filter(lambda x: x["repo"] in test_repos)
# Option 2: Use pre-defined splits (if available)
# train_dataset = load_dataset("TuringEnterprises/CRAVE", split="train")
# val_dataset = load_dataset("TuringEnterprises/CRAVE", split="validation")
# test_dataset = load_dataset("TuringEnterprises/CRAVE", split="test")
# Basic usage
from datasets import load_dataset
dataset = load_dataset("TuringEnterprises/CRAVE", split="train")
# Access a sample
sample = dataset[0]
print(f"Repository: {sample['repo']}")
print(f"PR URL: {sample['original_pull_request_url']}")
print(f"Title: {sample['pull_request_title']}")
print(f"Label: {sample['label']}")
print(f"Hint: {sample['hint']}")
print(f"Description: {sample['description'][:200]}...")
For questions about this dataset, please contact lilin.wang@turing.com or open an issue in the dataset repository.
This dataset card was generated on 2025-10-07 00:44:57
3 commits
3 commits
CRAVE: Code Review Agent Verdict Evaluation
11
6 commits
1 linked in READMEs
updated Dec 12, 2025
The CRAVE dataset is a balanced, filtered code review classification dataset containing 1,200 samples from 123 repositories and 600 pull requests. This dataset has been filtered and selected for high quality, making it specifically designed for training and evaluating code review agents that can classify pull request changes as either APPROVE or REQUEST_CHANGES.
The dataset is provided as a single unified file (dataset.parquet) to allow maximum flexibility for users. Researchers can create their own splits based on their specific needs:
Optional pre-defined splits are also provided as separate files:
train.parquet: ~960 samples (80%)validation.parquet: ~120 samples (10%)test.parquet: ~120 samples (10%)These splits are based on repository hash to ensure consistent, deterministic splits.
The dataset was created by:
Top repositories by sample count:
@dataset{CRAVE,
title={CRAVE: Code Review Agent Verdict Evaluation},
author={Li Zhang},
year={2025},
url={https://huggingface.co/datasets/TuringEnterprises/CRAVE},
note={Code review classification dataset from curated human code reviews}
}
from datasets import load_dataset
from sklearn.model_selection import train_test_split
# Option 1: Load unified dataset and create custom splits
dataset = load_dataset("TuringEnterprises/CRAVE")
full_data = dataset["train"] # All data is in the "train" split
# Create custom splits (e.g., by repository)
repos = list(set(full_data["repo"]))
train_repos = repos[:int(len(repos) * 0.8)]
val_repos = repos[int(len(repos) * 0.8):int(len(repos) * 0.9)]
test_repos = repos[int(len(repos) * 0.9):]
train_data = full_data.filter(lambda x: x["repo"] in train_repos)
val_data = full_data.filter(lambda x: x["repo"] in val_repos)
test_data = full_data.filter(lambda x: x["repo"] in test_repos)
# Option 2: Use pre-defined splits (if available)
# train_dataset = load_dataset("TuringEnterprises/CRAVE", split="train")
# val_dataset = load_dataset("TuringEnterprises/CRAVE", split="validation")
# test_dataset = load_dataset("TuringEnterprises/CRAVE", split="test")
# Basic usage
from datasets import load_dataset
dataset = load_dataset("TuringEnterprises/CRAVE", split="train")
# Access a sample
sample = dataset[0]
print(f"Repository: {sample['repo']}")
print(f"PR URL: {sample['original_pull_request_url']}")
print(f"Title: {sample['pull_request_title']}")
print(f"Label: {sample['label']}")
print(f"Hint: {sample['hint']}")
print(f"Description: {sample['description'][:200]}...")
For questions about this dataset, please contact lilin.wang@turing.com or open an issue in the dataset repository.
This dataset card was generated on 2025-10-07 00:44:57
3 commits
3 commits