# ryandegl233/autoempirical architecture

> Architecture diagram of the GitHub repository ryandegl233/autoempirical, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ryandegl233/autoempirical
- Repository: https://github.com/ryandegl233/autoempirical

## Overview

AutoEmpirical is a dataset-first benchmark for testing automated empirical software-fault analysis. Its central workflow moves paper-specific research objects through collection, relevance filtering, and taxonomy labeling (Stages 1–3). Around that dataset, the repository provides provenance and source evidence, baseline and adaptive analysis implementations, frozen experiment inputs, and external evidence-capture tools. The README documents these capabilities; the sampled source mainly shows experiment transport and continuation safeguards, so runtime wiring beyond those excerpts is represented only where documented.

Main entry points: [`Benchmark/src/adaptive_empirical_workflow`](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow) (Adaptive Workflow), [`Benchmark/scripts`](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/scripts) (Experiment Runner), [`Dataset/stage1.csv`](https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage1.csv) (Candidate Collection), [`Dataset/stage2.csv`](https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage2.csv) (Relevant Bugs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_dataset["Research Dataset"]
  node_stage1["Candidate Collection<br/>[stage1.csv]"]
  node_stage2["Relevant Bugs<br/>[stage2.csv]"]
  node_stage3["Taxonomy Labels<br/>[stage3.csv]"]
  node_paper_datasets["Per-Paper Data"]
end

subgraph group_evidence["Evidence And Provenance"]
  node_evidence_data["Source Evidence"]
  node_reconstruction["Information Reconstruction"]
  node_provenance["Provenance Audits"]
end

subgraph group_analysis["Analysis Workflows"]
  node_single_baseline["Single-LLM Baseline"]
  node_camel_baseline["CAMEL Baseline"]
  node_adaptive_workflow["Adaptive Workflow"]
  node_independent_analysis["Independent Analysis"]
  node_evidence_verification["Evidence Verification"]
  node_arbitration["Arbitration"]
  node_execution_audits["Execution Audits"]
end

subgraph group_experiments["Benchmark Experiments"]
  node_experiment_inputs["Frozen Experiment Inputs"]
  node_experiment_configs["Experiment Configurations"]
  node_experiment_runner["Experiment Runner"]
end

node_researcher(("Researcher"))
node_external_sources["External Sources"]
node_llm_provider["LLM Provider"]

node_researcher -->|"runs experiments"| node_experiment_runner
node_stage1 -->|"filters candidates"| node_stage2
node_stage2 -->|"labels taxonomy"| node_stage3
node_paper_datasets -->|"unifies records"| node_stage1
node_evidence_data -->|"audits evidence"| node_provenance
node_reconstruction -->|"integrates findings"| node_paper_datasets
node_external_sources -.->|"supplies evidence"| node_evidence_data
node_experiment_inputs -->|"provides cohorts"| node_experiment_runner
node_experiment_configs -->|"configures runs"| node_experiment_runner
node_experiment_runner -->|"invokes baseline"| node_single_baseline
node_experiment_runner -->|"invokes baseline"| node_camel_baseline
node_experiment_runner -->|"invokes workflow"| node_adaptive_workflow
node_adaptive_workflow -->|"coordinates analysis"| node_independent_analysis
node_adaptive_workflow -->|"coordinates verification"| node_evidence_verification
node_adaptive_workflow -->|"coordinates arbitration"| node_arbitration
node_adaptive_workflow -->|"records audits"| node_execution_audits
node_single_baseline -.->|"sends requests"| node_llm_provider
node_camel_baseline -.->|"sends requests"| node_llm_provider
node_adaptive_workflow -.->|"sends requests"| node_llm_provider

click node_stage1 "https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage1.csv"
click node_stage2 "https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage2.csv"
click node_stage3 "https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage3.csv"
click node_paper_datasets "https://github.com/ryandegl233/autoempirical/tree/main/Dataset/by_paper"
click node_evidence_data "https://github.com/ryandegl233/autoempirical/tree/main/Dataset/evidence"
click node_reconstruction "https://github.com/ryandegl233/autoempirical/tree/main/Dataset/reconstruction"
click node_provenance "https://github.com/ryandegl233/autoempirical/tree/main/Dataset/scripts"
click node_single_baseline "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src"
click node_camel_baseline "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src"
click node_adaptive_workflow "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow"
click node_independent_analysis "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow"
click node_evidence_verification "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow"
click node_arbitration "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow"
click node_execution_audits "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow"
click node_experiment_inputs "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/inputs"
click node_experiment_configs "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/configs"
click node_experiment_runner "https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/scripts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_stage1,node_stage2,node_stage3,node_paper_datasets toneBlue
class node_evidence_data,node_reconstruction,node_provenance toneAmber
class node_single_baseline,node_camel_baseline,node_adaptive_workflow,node_independent_analysis,node_evidence_verification,node_arbitration,node_execution_audits toneMint
class node_experiment_inputs,node_experiment_configs,node_experiment_runner toneRose
class node_researcher,node_external_sources,node_llm_provider toneIndigo
```

## Components

### Research Dataset

- [Candidate Collection](https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage1.csv): `Dataset/stage1.csv`
- [Relevant Bugs](https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage2.csv): `Dataset/stage2.csv`
- [Taxonomy Labels](https://github.com/ryandegl233/autoempirical/blob/main/Dataset/stage3.csv): `Dataset/stage3.csv`
- [Per-Paper Data](https://github.com/ryandegl233/autoempirical/tree/main/Dataset/by_paper): `Dataset/by_paper`

### Evidence And Provenance

- [Source Evidence](https://github.com/ryandegl233/autoempirical/tree/main/Dataset/evidence): `Dataset/evidence`
- [Information Reconstruction](https://github.com/ryandegl233/autoempirical/tree/main/Dataset/reconstruction): `Dataset/reconstruction`
- [Provenance Audits](https://github.com/ryandegl233/autoempirical/tree/main/Dataset/scripts): `Dataset/scripts`

### Analysis Workflows

- [Single-LLM Baseline](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src): `Benchmark/src`
- [CAMEL Baseline](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src): `Benchmark/src`
- [Adaptive Workflow](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow): `Benchmark/src/adaptive_empirical_workflow`
- [Independent Analysis](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow): `Benchmark/src/adaptive_empirical_workflow`
- [Evidence Verification](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow): `Benchmark/src/adaptive_empirical_workflow`
- [Arbitration](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow): `Benchmark/src/adaptive_empirical_workflow`
- [Execution Audits](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/src/adaptive_empirical_workflow): `Benchmark/src/adaptive_empirical_workflow`

### Benchmark Experiments

- [Frozen Experiment Inputs](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/inputs): `Benchmark/inputs`
- [Experiment Configurations](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/configs): `Benchmark/configs`
- [Experiment Runner](https://github.com/ryandegl233/autoempirical/tree/main/Benchmark/scripts): `Benchmark/scripts`

### Other components

- **Researcher**
- **External Sources**
- **LLM Provider**

## Connections

- Researcher → Experiment Runner: runs experiments
- Candidate Collection → Relevant Bugs: filters candidates
- Relevant Bugs → Taxonomy Labels: labels taxonomy
- Per-Paper Data → Candidate Collection: unifies records
- Source Evidence → Provenance Audits: audits evidence
- Information Reconstruction → Per-Paper Data: integrates findings
- External Sources → Source Evidence: supplies evidence
- Frozen Experiment Inputs → Experiment Runner: provides cohorts
- Experiment Configurations → Experiment Runner: configures runs
- Experiment Runner → Single-LLM Baseline: invokes baseline
- Experiment Runner → CAMEL Baseline: invokes baseline
- Experiment Runner → Adaptive Workflow: invokes workflow
- Adaptive Workflow → Independent Analysis: coordinates analysis
- Adaptive Workflow → Evidence Verification: coordinates verification
- Adaptive Workflow → Arbitration: coordinates arbitration
- Adaptive Workflow → Execution Audits: records audits
- Single-LLM Baseline → LLM Provider: sends requests
- CAMEL Baseline → LLM Provider: sends requests
- Adaptive Workflow → LLM Provider: sends requests
