The Commonplace
Home Papers Evidence Explore Trends Syntheses Digests References Docs 🎲 Workforce Futures
← Papers
Direction, evidence grade, and study type are AI-generated labels (gpt-5-mini), not human-verified. Syntheses are LLM-written. "Tensions" are machine-detected candidates, not confirmed contradictions. A research-acceleration tool, not peer review. How this is built →

A new benchmark for Microsoft’s Business Central DSL finds large disparities in coding-agent performance and shows that gains on general-purpose code tests often fail to translate to ERP-specific engineering tasks; model choice matters more than the agent harness for bug fixes in the evaluated settings.

BC-Bench: Evaluating Agentic Engineering in a Domain-Specific Language for ERP
Haoran Sun, Klaus Marius Hansen · August 21, 2026
arxiv descriptive medium evidence 7/10 relevance Full text usable extracted full text Source PDF

Structured author observations

Linked only from stored provider relations; the raw author line above is never matched by name.

Arxiv

Latest observation:

  1. Haoran Sun unresolved corpus identity
  2. Klaus Marius Hansen unresolved corpus identity

Semantic Scholar

Latest observation:

  1. Haoran Sun provider ID
  2. K. M. Hansen provider ID
BC-Bench, a 101-task benchmark for Microsoft's AL ERP DSL, shows that state-of-the-art LLM coding models differ substantially in bug-fix and test-generation accuracy and that improvements on general-purpose code benchmarks do not reliably transfer to AL.

Citation observations

Cumulative provider counts captured on specific dates; providers are never combined.

Agentic engineering systems have shown strong performance on general-purpose benchmarks, yet their effectiveness in enterprise resource planning (ERP) domain-specific languages (DSLs) remains underexplored. We introduce BC-Bench, a benchmark designed to evaluate agentic engineering on real-world tasks in AL, the DSL for Microsoft Dynamics 365 Business Central. BC-Bench comprises 101 manually curated tasks extracted from two Microsoft-owned production repositories, reflecting authentic ERP development workflows. Adapting the SWE-Bench methodology, we address the unique constraints of the AL ecosystem---including limited public resources and complex environment provisioning. Beyond generating functional code, BC-Bench evaluates test generation and supports multimodal problem statements where visual context is commonly present. We evaluate multiple frontier models across two agent harnesses, utilizing multi-run metrics to account for nondeterminism. In the Bug Fixing category, under our evaluated settings, between-model differences in resolution rate are larger than differences between the two evaluated agent harnesses, and improvements reported on general-purpose benchmarks do not consistently transfer to AL. These results highlight the need for domain-specific evaluation.

Summary

Main Finding

Agentic coding systems perform substantially worse on a domain-specific ERP language (AL for Microsoft Dynamics 365 Business Central) than general-purpose benchmarks imply. In BC-Bench (101 real-world AL tasks), differences across underlying LMs explain more variation in bug-fixing success than differences across two widely used agent harnesses (GitHub Copilot and Claude Code). Improvements reported on general-purpose code benchmarks do not reliably transfer to AL; task complexity (multi-file or larger patches) and domain constraints substantially reduce agent accuracy.

Key Points

  • Benchmark introduced: BC-Bench — 101 manually curated, real-world tasks drawn from two Microsoft repositories (NAV, private; BCApps, public). Open source: https://github.com/microsoft/BC-Bench
  • Two evaluation categories:
    • Bug Fixing: generate a patch that builds and makes tests pass.
    • Test Generation: generate a test that fails on the base commit and passes after the gold patch.
  • Agent harnesses evaluated: GitHub Copilot and Claude Code. Multiple frontier models evaluated (e.g., claude-opus-4.6, claude-opus-4.5, GPT-5.x-codex variants, GPT-4.1).
  • Metrics and evaluation protocol:
    • Five independent runs per task to capture stochasticity.
    • Mean resolution rate (with bootstrapped 95% CI across runs).
    • passˆ5 (fraction of tasks solved in all five runs) to quantify reliability.
    • Wall-clock duration per trial reported.
  • Representative results (Bug Fixing, matched settings):
    • claude-opus-4.6 (Claude Code): mean resolution 68.5% (95% CI 65.7–71.3%), passˆ5 = 49.5%, duration 284s.
    • claude-opus-4.6 (GitHub Copilot): mean 65.1%, passˆ5 = 50.5%, duration 314s.
    • GPT-5.2-codex (GitHub Copilot): mean 60.8%, passˆ5 = 49.5%, duration 196s.
    • GPT-4.1 (GitHub Copilot): mean 16.6%, passˆ5 = 5.0%.
  • Model vs harness effects:
    • Matched comparisons indicate model choice drives statistically significant differences (examples: claude-opus-4.6 vs 4.5, p = 0.026; gpt-5.2-codex vs gpt-5.1-codex-max, p = 0.019).
    • Harness comparisons (Claude Code vs GitHub Copilot with same model) did not reach statistical significance in tested pairs (p > 0.05), suggesting smaller harness effect in the evaluated Bug Fixing setting.
  • Task complexity strongly impacts performance:
    • Multi-file patches: mean resolution drops >20 percentage points compared to single-file fixes (e.g., ~65–70% → ~42–43%).
    • LoC changed: 1–10 LoC tasks ~75–78% success; 11–25 LoC drops to ~38–50%.
  • Domain heterogeneity: performance varies by functional area (e.g., Inventory and Sales higher; Finance lower for some models).
  • Multimodal support: 67 of 101 tasks include images/screenshots in problem statements; BC-Bench supports multimodal problem statements.
  • Environment and reproducibility:
    • Tests executed in GitHub Actions on standardized containers (BcContainer-Helper).
    • Agents by default see code as text only; an optional tooling interface (AL MCP) can expose compilation to agents.
    • Versioning strategy and weekly revalidation to ensure reproducibility; timeouts (30 → 60 minutes) and workflow-failure handling described.

Data & Methods

  • Dataset construction pipeline (five stages):
  • Manual repository selection (two Microsoft-managed repos).
  • Attribute filtering: single-bug-fix PRs that introduce at least one test.
  • Manual filtering to ensure sufficient context and remove brittle tests.
  • Bug-PR pair extraction with AL-specific adaptations: multi-project mapping, release-based anchoring, base-commit alignment; gold patches are the human PR fixes.
  • Execution filtering: automated test runs to ensure failing-before/ passing-after properties; re-run weekly to detect regressions.
  • Dataset characteristics:
    • Total tasks: 101 (85 BaseApp, 16 other apps).
    • Avg files modified (gold patch): 1.3; median 1.0.
    • Avg gold patch LOC: 18.9; median 9.0.
    • Tasks with images: 67.
    • Functional area distribution: Inventory (21), Finance (19), Sales (12), etc.
  • Evaluation environment and protocol:
    • Five independent runs per task; mean resolution and bootstrapped 95% CI (BCa with 10,000 resamples).
    • passˆ5 reported to measure reproducibility across runs.
    • Wall-clock duration measured (model calls and tool uses).
    • Statistical testing: two-sided exact sign-flip permutation test on paired per-task success-count differences.
    • Execution via GitHub Actions using standardized self-hosted runners and Docker containers mapped to release versions.
  • Limitations in data:
    • Small DSL-specific corpus relative to general languages (101 tasks), largely from Microsoft-owned repos; public AL code is scarce.
    • BC-Bench focuses on tasks that have machine-executable tests and meet filtering criteria; not a full coverage of all AL engineering work.

Implications for AI Economics

  • Need for domain-specific evaluation before adoption:
    • Firms should not rely solely on general-purpose benchmark gains to justify investment in agentic engineering for DSL-heavy domains. BC-Bench shows transfer is imperfect; empirical validation in the target domain is necessary.
  • Productivity and ROI are task-dependent:
    • High automation potential for small, single-file changes (1–10 LoC) where models reach ~75–78% mean resolution. These are low-hanging fruit for cost-saving and developer speedups.
    • Complex, multi-file, or larger patches remain hard for current models (large drops in success), implying limited ROI for fully automating complex ERP maintenance without further tooling or human-in-the-loop workflows.
  • Model selection matters more than harness choice (in evaluated settings):
    • Organizations should prioritize model evaluation and selection for domain-specific tasks; switching harnesses (Copilot vs Claude Code) had smaller impact than upgrading underlying models in the BC-Bench Bug Fixing experiments.
  • Latency vs accuracy trade-offs affect economic value:
    • More accurate models (e.g., claude-opus-4.6) can be substantially slower. Cost-benefit analyses must incorporate runtime latency and associated operational costs (compute, developer waiting time).
  • Investment priorities to improve agent performance in DSL contexts:
    • Tooling integration (e.g., exposing compilation/runtime via AL MCP) could materially improve results — investing in agent-accessible development infrastructure can raise automation rates.
    • Curating domain-specific datasets and benchmarks (though costly) is necessary for realistic evaluation and targeted model improvement.
    • Multimodal and environment-aware agents: ERP bug reports often include screenshots and require environment coupling; enabling agents to use those signals can increase effectiveness.
  • Market and policy considerations:
    • Limited public DSL corpora (proprietary industrial code) mean vendors or platform owners may hold asymmetric advantages; collaborations or sanctioned dataset releases could accelerate progress but raise IP and privacy questions.
    • Reproducibility/versioning requirements imply ongoing evaluation costs — firms should budget continuous benchmarking and re-validation as models and harnesses evolve rapidly.
  • Strategy recommendations for firms:
    • Pilot automation on well-scoped, high-frequency, small-patch tasks to realize early gains.
    • Evaluate multiple models on a representative domain-specific benchmark (like BC-Bench) rather than relying on public general benchmarks.
    • Invest in tooling that exposes compilation/tests to agents to bridge the gap between text-only prompts and executable domain workflows.
    • Track latency, passˆk-like reliability metrics, and operational workflow failure modes (timeouts, non-submissions) when estimating realized productivity improvements.

If you want, I can extract a compact table of the main numeric results (mean resolution, passˆ5, durations) for the top models/harness combinations, or draft a short checklist for a firm considering deploying agentic engineering in an ERP/DSL setting.

Assessment

Paper Typedescriptive Evidence Strengthmedium — The paper provides systematic, reproducible empirical evaluation using a curated set of 101 real-world tasks, multiple independent runs, bootstrapped confidence intervals, and matched statistical tests; however, it is not causal (no counterfactual economic outcomes), relies on a modest task set heavily drawn from Microsoft-owned repositories (external validity concerns), and some comparisons span different benchmark/agent versions which weakens some cross-row inferences. Methods Rigorhigh — Design follows state-of-the-art benchmarking practice (task filtering, execution filtering, environment anchoring, multi-run evaluation, statistical testing, versioning), explicitly addresses DSL/environment constraints, and reports runtime and consistency metrics; weaknesses include reliance on proprietary internal repository for a large share of tasks, limited task count (101), and some cross-version comparisons that reduce interpretability. Sample101 manually curated tasks (bug-fix and test-generation) extracted from two Microsoft-owned AL repositories: NAV (private, internal) and BCApps (public). 85 tasks come from BaseApp (a monolithic core app >2M LoC) and 16 from other apps (e.g., Shopify integration). Avg. gold patch: 1.3 files changed, 18.9 LOC; 67 tasks include images. Tasks span Inventory, Finance, Sales, Project, Shopify, Manufacturing, Warehouse, CRM, Service, and other areas. Evaluations run in GitHub Actions on standardized Microsoft self-hosted runners with AL-specific containers; agents evaluated include GitHub Copilot and Claude Code across multiple model versions. Themesproductivity human_ai_collab GeneralizabilityDataset heavily weighted toward Microsoft Business Central (AL) and BaseApp, limiting applicability to other DSLs or non-Microsoft ERP systems, Majority of tasks come from a private internal repository (NAV), reducing reproducibility and external representativeness, Relatively small task count (101) compared with large-scale general-purpose benchmarks, Agent harnesses tested are limited to GitHub Copilot and Claude Code; other developer workflows/tools may yield different results, Default headless setup denies agents native AL toolchain access; real-world engineer workflows that expose tooling may change performance, Benchmark results depend on rapidly evolving model and harness versions; cross-version comparisons are less reliable

Claims (11)

ClaimDirectionOutcomeConfidence & EvidenceDetails
BC-Bench contains 101 manually curated ERP engineering tasks drawn from two Microsoft-maintained production repositories, with 85 tasks from BaseApp and 16 from other applications. Developer Productivity positive Benchmark coverage of real-world AL engineering tasks
Reading fidelity high
Study strength high
n=101
101 total tasks; 85 BaseApp tasks and 16 other-application tasks
0.3
Under matched GitHub Copilot version 0.2.0 Bug Fixing conditions, claude-opus-4.6 achieved a higher mean resolution rate than claude-opus-4.5. Developer Productivity positive Bug-fixing mean resolution rate
Reading fidelity high
Study strength high
n=101
5.3 percentage points
0.3
Under the same matched conditions, claude-opus-4.6 achieved a higher passˆ5 rate than claude-opus-4.5. Developer Productivity positive Fraction of tasks solved successfully in all five runs
Reading fidelity high
Study strength high
n=101
11.9 percentage points
0.3
In the reported Bug Fixing configurations, claude-opus-4.6 had the highest passˆ5 and mean resolution rate, but it was slower than competing systems. Developer Productivity mixed Bug-fixing resolution reliability and agent execution duration
Reading fidelity high
Study strength medium
n=101
68.5% mean resolution rate; 49.5% passˆ5; 284S duration
0.18
GPT-4.1 performed substantially worse than recent state-of-the-art models on Bug Fixing, with approximately four times lower mean resolution rate and ten times lower passˆ5. Developer Productivity negative Bug-fixing mean resolution rate and repeated-run reliability
Reading fidelity high
Study strength medium
n=101
approximately 4 times lower mean resolution rate and 10 times lower passˆ5
0.18
For the evaluated Bug Fixing settings, model choice appears to matter more than the choice between GitHub Copilot and Claude Code. Developer Productivity positive Bug-fixing mean resolution rate
Reading fidelity high
Study strength medium
n=101
Harness comparison p-values: 0.728 and 0.075; model comparison p-values: 0.026 and 0.019
0.18
In Test Generation, GPT-5.3-codex did not have a statistically significant resolution-rate advantage over GPT-5.2-codex when GitHub Copilot and benchmark version were fixed. Developer Productivity null_result Test-generation resolution rate
Reading fidelity high
Study strength high
n=101
45.3% versus 44.0%; p = 0.672
0.3
Agent resolution accuracy declined substantially when the gold patch modified more than one file rather than only one file. Developer Productivity negative Bug-fixing mean resolution rate by patch file count
Reading fidelity high
Study strength medium
n=101
20.9 percentage-point drop for GPT-5.2; 27.0 percentage-point drop for Opus-4.6
0.18
Resolution accuracy was lower for tasks whose gold patches exceeded 10 lines of code than for tasks whose patches changed 1–10 lines. Developer Productivity negative Bug-fixing mean resolution rate by patch size
Reading fidelity high
Study strength medium
n=101
27.3 percentage-point drop for GPT-5.2 in the 11–25 LOC group; 28.9 percentage-point drop for Opus-4.6
0.18
Bug-fixing performance varied across functional areas, with the reported model rates differing substantially between areas such as Manufacturing and Warehouse. Developer Productivity mixed Bug-fixing mean resolution rate by functional area
Reading fidelity high
Study strength low
n=101
GPT-5.2: 88.0% in Manufacturing versus 40.0% in Warehouse; Opus-4.6: 64.0% versus 56.0%
0.09
Improvements observed on general-purpose programming benchmarks do not necessarily transfer to AL domain-specific tasks. Developer Productivity null_result Transfer of coding-agent benchmark performance from general-purpose programming to AL
Reading fidelity high
Study strength medium
n=101
GPT-5.3-codex 45.3% versus GPT-5.2-codex 44.0%; p = 0.672
0.18

Notes