AIDev: Studying AI Coding Agents on GitHub (The Rise of AI Teammates in Software Engineering 3.0)
48
74 commits
2 linked in READMEs
updated Aug 31, 2026
This is AIDev v4 (AIDev-2.7M, cutoff date of Nov 2025). Other versions are available as git tags and can be loaded with
load_dataset("hao-li/AIDev", "<config>", revision="<tag>"):
- v3 — previous main: https://huggingface.co/datasets/hao-li/AIDev/tree/v3
We invite researchers to leverage the AIDev dataset and submit their findings to our upcoming tracks.
Empirical Software Engineering (EMSE) Journal Special Issue (https://emsejournal.github.io/special_issues/2026_SI_Agentic_SE.html)
KDD 2026 Workshop (https://agent-se.github.io)
ACM CAIS 2026 Workshop (https://agenticse-cais.github.io)
MSR 2026 (co-located with ICSE) Mining Challenge (https://2026.msrconf.org/track/msr-2026-mining-challenge)
AIDev is a large-scale dataset capturing the emergence of autonomous coding agents (AI teammates) within real-world open-source software engineering. This version spans 2,743,854 pull requests across 327,477 repositories, authored by six AI coding agents: OpenAI Codex, GitHub Copilot, Cursor, Google Jules, Devin, and Claude Code, and involving 159,056 human developers.
You can easily load the small tables in a few lines of code:
import pandas as pd
all_repo_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_repository.parquet")
all_user_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_user.parquet")
⚠️
all_pull_request.parquetis ~1.5 GB on disk andpr_commit_details.parquetis ~1.3 GB — avoid loading them blindly with a plainpd.read_parquet. See Loading the Dataset below for memory-safe patterns.
This year’s MSR Mining Challenge received 130 abstracts (116 full submissions) and accepted 62 papers. The list of accepted papers (all using AIDev) can be found here:
https://2026.msrconf.org/track/msr-2026-mining-challenge
We also list other papers using AIDev below (may overlap with the challenge):
Note: If you use AIDev in your research, please open a Pull Request to add your paper here!
The overview of this version of the AIDev dataset is as follows:
| Agent | # PR | % Open PR | % Closed PR | % Merged PR | # Developers | # Repository |
|---|---|---|---|---|---|---|
| OpenAI Codex | 2,069,595 | 7.1 | 6.3 | 86.6 | 110,331 | 161,644 |
| Copilot | 349,695 | 18.2 | 18.3 | 63.5 | 0 | 90,905 |
| Cursor | 212,544 | 32.6 | 13.2 | 54.2 | 47,637 | 60,733 |
| Google Jules | 50,490 | 13.6 | 9.7 | 76.6 | 18 | 11,475 |
| Devin | 43,298 | 10.9 | 27.0 | 62.1 | 0 | 6,748 |
| Claude Code | 18,232 | 8.2 | 11.2 | 80.6 | 4,756 | 6,019 |
| Total | 2,743,854 | 10.7 | 8.8 | 80.5 | 159,056 | 327,477 |

| Description | Notebook Link | Open in Colab |
|---|---|---|
| Basic usage | load_AIDev.ipynb | |
| Dataset overview | dataset_overview.ipynb | |
| Analysis of programming usage | language_usage.ipynb | |
| PR merge rate and turnaround time | productivity.ipynb |
Three rules keep memory flat:
import pandas as pd
import pyarrow.parquet as pq
# 1. Small tables: load fully, this is fine ("@v4" pins this version; drop it for latest main)
all_repo_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_repository.parquet")
all_user_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_user.parquet")
# 2. Big tables: ALWAYS select columns (skip the heavy `title`/`body`/`patch`)
LIGHT_COLS = ["id", "agent", "user", "state", "created_at", "closed_at", "merged_at", "repo_url"]
all_pr_df = pd.read_parquet(
"hf://datasets/hao-li/AIDev@v4/all_pull_request.parquet", columns=LIGHT_COLS
)
# 3. Or stream record batches for constant-memory processing
pf = pq.ParquetFile("all_pull_request.parquet") # after hf download
for batch in pf.iter_batches(batch_size=262_144, columns=["agent", "merged_at"]):
df = batch.to_pandas()
... # aggregate incrementally
See scripts/load_aidev.py for complete memory-safe examples,
including streaming patch extraction from pr_commit_details.parquet. The
scripts/ folder also contains memory-safe analysis scripts
(streaming/column-pruned; they run in well under 1 GB of RAM):
| Script | Purpose |
|---|---|
load_aidev.py | Memory-safe loading patterns for every table |
dataset_overview.py | Per-agent summary table + cumulative PR figure |
language_usage.py | Language distribution across agents |
productivity.py | Merge-rate radar, turnaround box plot, Accept/Reject stats |
AIDev is organized into normalized tables that can be joined via consistent keys. The full-scope tables cover every repository:
all_pull_request: PR-level data (ID, title, body, agent label, user info, state, timestamps)all_repository: Metadata including license, language, stars, forks, and project-level infoall_user: User information such as id, login, and created date (personally identifiable information has been removed to address privacy concerns)For the AIDev-pop subset (repositories with more than 100 stars) of AIDev, we provide extra tables:
pull_request: PR-level data (ID, title, body, agent label, user info, state, timestamps)repository: Metadata including license, language, stars, forks, and project-level infopr_comments & pr_reviews & pr_review_comments: Review discussions, approvals, timestamps, actors; pr_review_comments contains inline review commentspr_commits & pr_commit_details: Commit metadata, diffs, file-level changes, patch. Note that the patch data does not include large patches since the GitHub API does not provide them. If you want the large patches, you need to download them yourself.user: User information such as id, login, and created date (personally identifiable information has been removed to address privacy concerns)⚠️ Update (v4, cutoff Nov 2025): The dataset has been refreshed to 2.7 million pull requests across six agents (Google Jules added). Earlier versions remain available as git tags (see the version list at the top).
This dataset aggregates content from GitHub repositories. Each source repository retains its original copyright and license (e.g., MIT, Apache-2.0, GPL family, Creative Commons variants, etc.). Files, patches/diffs, and any other artifacts originating from those repositories remain governed by their original licenses.
Important: Repository contents maintain their original licenses. Please respect individual project licenses when using this data.
If you use AIDev in your work, please cite:
@misc{li2025aiteammates_se3,
title={The Rise of AI Teammates in Software Engineering (SE) 3.0: How Autonomous Coding Agents Are Reshaping Software Engineering},
author={Hao Li and Haoxiang Zhang and Ahmed E. Hassan},
year={2025},
eprint={2507.15003},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2507.15003}
}
AIDev: Studying AI Coding Agents on GitHub (The Rise of AI Teammates in Software Engineering 3.0)
48
74 commits
2 linked in READMEs
updated Aug 31, 2026
This is AIDev v4 (AIDev-2.7M, cutoff date of Nov 2025). Other versions are available as git tags and can be loaded with
load_dataset("hao-li/AIDev", "<config>", revision="<tag>"):
- v3 — previous main: https://huggingface.co/datasets/hao-li/AIDev/tree/v3
We invite researchers to leverage the AIDev dataset and submit their findings to our upcoming tracks.
Empirical Software Engineering (EMSE) Journal Special Issue (https://emsejournal.github.io/special_issues/2026_SI_Agentic_SE.html)
KDD 2026 Workshop (https://agent-se.github.io)
ACM CAIS 2026 Workshop (https://agenticse-cais.github.io)
MSR 2026 (co-located with ICSE) Mining Challenge (https://2026.msrconf.org/track/msr-2026-mining-challenge)
AIDev is a large-scale dataset capturing the emergence of autonomous coding agents (AI teammates) within real-world open-source software engineering. This version spans 2,743,854 pull requests across 327,477 repositories, authored by six AI coding agents: OpenAI Codex, GitHub Copilot, Cursor, Google Jules, Devin, and Claude Code, and involving 159,056 human developers.
You can easily load the small tables in a few lines of code:
import pandas as pd
all_repo_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_repository.parquet")
all_user_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_user.parquet")
⚠️
all_pull_request.parquetis ~1.5 GB on disk andpr_commit_details.parquetis ~1.3 GB — avoid loading them blindly with a plainpd.read_parquet. See Loading the Dataset below for memory-safe patterns.
This year’s MSR Mining Challenge received 130 abstracts (116 full submissions) and accepted 62 papers. The list of accepted papers (all using AIDev) can be found here:
https://2026.msrconf.org/track/msr-2026-mining-challenge
We also list other papers using AIDev below (may overlap with the challenge):
Note: If you use AIDev in your research, please open a Pull Request to add your paper here!
The overview of this version of the AIDev dataset is as follows:
| Agent | # PR | % Open PR | % Closed PR | % Merged PR | # Developers | # Repository |
|---|---|---|---|---|---|---|
| OpenAI Codex | 2,069,595 | 7.1 | 6.3 | 86.6 | 110,331 | 161,644 |
| Copilot | 349,695 | 18.2 | 18.3 | 63.5 | 0 | 90,905 |
| Cursor | 212,544 | 32.6 | 13.2 | 54.2 | 47,637 | 60,733 |
| Google Jules | 50,490 | 13.6 | 9.7 | 76.6 | 18 | 11,475 |
| Devin | 43,298 | 10.9 | 27.0 | 62.1 | 0 | 6,748 |
| Claude Code | 18,232 | 8.2 | 11.2 | 80.6 | 4,756 | 6,019 |
| Total | 2,743,854 | 10.7 | 8.8 | 80.5 | 159,056 | 327,477 |

| Description | Notebook Link | Open in Colab |
|---|---|---|
| Basic usage | load_AIDev.ipynb | |
| Dataset overview | dataset_overview.ipynb | |
| Analysis of programming usage | language_usage.ipynb | |
| PR merge rate and turnaround time | productivity.ipynb |
Three rules keep memory flat:
import pandas as pd
import pyarrow.parquet as pq
# 1. Small tables: load fully, this is fine ("@v4" pins this version; drop it for latest main)
all_repo_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_repository.parquet")
all_user_df = pd.read_parquet("hf://datasets/hao-li/AIDev@v4/all_user.parquet")
# 2. Big tables: ALWAYS select columns (skip the heavy `title`/`body`/`patch`)
LIGHT_COLS = ["id", "agent", "user", "state", "created_at", "closed_at", "merged_at", "repo_url"]
all_pr_df = pd.read_parquet(
"hf://datasets/hao-li/AIDev@v4/all_pull_request.parquet", columns=LIGHT_COLS
)
# 3. Or stream record batches for constant-memory processing
pf = pq.ParquetFile("all_pull_request.parquet") # after hf download
for batch in pf.iter_batches(batch_size=262_144, columns=["agent", "merged_at"]):
df = batch.to_pandas()
... # aggregate incrementally
See scripts/load_aidev.py for complete memory-safe examples,
including streaming patch extraction from pr_commit_details.parquet. The
scripts/ folder also contains memory-safe analysis scripts
(streaming/column-pruned; they run in well under 1 GB of RAM):
| Script | Purpose |
|---|---|
load_aidev.py | Memory-safe loading patterns for every table |
dataset_overview.py | Per-agent summary table + cumulative PR figure |
language_usage.py | Language distribution across agents |
productivity.py | Merge-rate radar, turnaround box plot, Accept/Reject stats |
AIDev is organized into normalized tables that can be joined via consistent keys. The full-scope tables cover every repository:
all_pull_request: PR-level data (ID, title, body, agent label, user info, state, timestamps)all_repository: Metadata including license, language, stars, forks, and project-level infoall_user: User information such as id, login, and created date (personally identifiable information has been removed to address privacy concerns)For the AIDev-pop subset (repositories with more than 100 stars) of AIDev, we provide extra tables:
pull_request: PR-level data (ID, title, body, agent label, user info, state, timestamps)repository: Metadata including license, language, stars, forks, and project-level infopr_comments & pr_reviews & pr_review_comments: Review discussions, approvals, timestamps, actors; pr_review_comments contains inline review commentspr_commits & pr_commit_details: Commit metadata, diffs, file-level changes, patch. Note that the patch data does not include large patches since the GitHub API does not provide them. If you want the large patches, you need to download them yourself.user: User information such as id, login, and created date (personally identifiable information has been removed to address privacy concerns)⚠️ Update (v4, cutoff Nov 2025): The dataset has been refreshed to 2.7 million pull requests across six agents (Google Jules added). Earlier versions remain available as git tags (see the version list at the top).
This dataset aggregates content from GitHub repositories. Each source repository retains its original copyright and license (e.g., MIT, Apache-2.0, GPL family, Creative Commons variants, etc.). Files, patches/diffs, and any other artifacts originating from those repositories remain governed by their original licenses.
Important: Repository contents maintain their original licenses. Please respect individual project licenses when using this data.
If you use AIDev in your work, please cite:
@misc{li2025aiteammates_se3,
title={The Rise of AI Teammates in Software Engineering (SE) 3.0: How Autonomous Coding Agents Are Reshaping Software Engineering},
author={Hao Li and Haoxiang Zhang and Ahmed E. Hassan},
year={2025},
eprint={2507.15003},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2507.15003}
}