Dataset: Why Are AI-Generated Pull Requests Discarded? An Analysis Using the AIDEv Dataset
收藏资源简介:
dataset.json The primary dataset containing complete metadata for all 4,314 Pull Requests analyzed in this study. Root object containing two main properties: Key Fields per PR Object: id (Integer): Unique GitHub PR identifier. number (Integer): PR number within the repository. title (String): PR title/heading. body (String): PR description and detailed content. agent (String): Tool/agent that created the PR (e.g., "Claude_Code", "Devin", "GitHub Copilot"). user_id (Integer): GitHub user ID of the PR author. user (String): GitHub username of the PR author. state (String): PR status (always "closed" in this dataset). created_at (ISO 8601 Datetime): PR creation timestamp. closed_at (ISO 8601 Datetime): PR closure timestamp. merged_at (null): Merge timestamp (null = not merged). repo_id (Float): GitHub repository ID. repo_url (String): API URL endpoint of the repository. html_url (String): Web URL of the PR on GitHub. comments (Array) Array of comment objects from PR discussion. Comments Array Structure: id (Integer): Unique comment ID. pr_id (Integer): Parent PR ID for linking. user (String): Comment author username. user_id (Integer): Comment author GitHub user ID. user_type (String): User type identifier ("User", "Bot", "Organization"). created_at (ISO 8601 Datetime): Comment creation timestamp. body (String): Full comment text content. summarize_gemini.json AI-generated semantic summaries of PR closure reasons using Google's Gemini LLM. This file maps each PR ID to a structured analysis explaining why the PR was closed without merging. Structure: pr_id (Integer): Unique GitHub PR identifier (matches dataset.json). html_url (String):Web URL of the PR on GitHub. original_comment (Array[String]): Original PR comment threads (context for analysis). analysis (String): AI-generated summary of closure reason. cluster_bert_generated.json Initial unsupervised clustering results generated by combining BERT embeddings and HDBSCAN algorithm. This file represents the raw algorithmic output before manual curation and consolidation. Root Level Metadata: source_run (Integer): Identifier for the clustering run. number_of_clusters (Integer): Total clusters generated by HDBSCAN. total_analyses (Integer): Total PR analysis texts processed. clustered_analyses (Integer): Texts successfully assigned to clusters. outliers_noise (Integer): Texts classified as outliers/noise. clusters (Array): Array of cluster objects with detailed content. Cluster Object Structure: cluster_id (String): Numeric identifier (0-169) or "OUTLIERS/NOISE". items (Integer): Number of PRs assigned to this cluster. keywords (Array[String]): Top 5-10 keywords extracted from cluster texts. texts (Array[String]): Representative analysis text samples from cluster. clusters_final.json Manually curated and consolidated clustering results derived from cluster_bert_generated.json. Domain experts reviewed the 170 initial clusters and merged semantically related patterns into 21 comprehensive categories representing common PR closure reasons. Root Level Metadata: source_run (Integer): Identifier for the clustering run. outliers_removed (Boolean): Outliers explicitly handled in consolidation. categories (Array): Consolidated category objects. Category Object Structure: new_cluster_id (Integer): Final category ID (1-21). label (String): Human-readable category name. description (String): Detailed description of PR closure reason pattern. original_clusters_ids (Array[Integer]): IDs of original clusters merged into this category. items (Integer): Total PRs assigned to this category. text (Array[String]): Representative closure reason texts from PRs. metadata (Object): Frequency distribution of unique analysis texts.



