← Latest papers
🤖 AI

BC-Bench: Evaluating Agentic Engineering in a Domain-Specific Language for ERP

This paper introduces BC-Bench, a novel benchmark comprising 101 real-world tasks in the AL domain-specific language for Microsoft Dynamics 365 Business Central, to demonstrate that agentic engineering performance on general benchmarks does not reliably translate to enterprise ERP contexts and underscores the critical need for domain-specific evaluation.

Original authors: Haoran Sun, Klaus Marius Hansen

Published 2026-08-24
📖 6 min read🧠 Deep dive

Original authors: Haoran Sun, Klaus Marius Hansen

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

In the world of modern software, a new kind of worker has emerged: an artificial intelligence that can write code, fix errors, and build programs on its own. These systems, often called coding agents, have been trained on vast libraries of human-written instructions and have shown remarkable skill in general-purpose programming languages like Python. They can solve puzzles that once took human engineers hours to crack. However, the real world of business software is rarely so simple. Much of the critical infrastructure that runs global commerce relies on specialized languages designed for specific industries, where the rules are different, the tools are unique, and the stakes are high. One such environment is the world of enterprise resource planning, where companies manage everything from inventory to payroll. Here, the software speaks a language called AL, a specialized dialect used to run Microsoft's Business Central system. For years, it has been unclear whether these powerful AI agents could navigate this complex, proprietary landscape or if their success in general coding was a phenomenon that faded when faced with real business constraints.

To answer this question, researchers at Microsoft created a new testing ground called BC-Bench. They did not invent a theoretical puzzle; instead, they dug into the actual, living code of two massive software repositories that power real businesses. From these digital archives, they carefully selected 101 specific tasks that engineers had solved in the past. These were not made-up examples but genuine problems: a bug that caused a customer record to fail, a missing feature in a sales report, or a test that needed to be written to catch an error. The researchers then asked several of the world's most advanced AI agents to attempt these same tasks. The agents were given the original problem description, which sometimes included screenshots of the error, and a snapshot of the code as it existed before the fix. Their goal was to write the exact code changes needed to solve the problem, just as a human engineer would. The system then ran the software in a simulated environment to see if the new code actually fixed the issue without breaking anything else.

The results revealed a landscape where the identity of the AI model mattered far more than the specific tool it used to do the work. When the researchers compared different versions of the agents, they found that the choice of the underlying brain—the large language model—had a much larger impact on success than the choice of the software wrapper, or "harness," that guided it. For instance, one of the newest models, Claude Opus 4.6, solved nearly 69 percent of the bug-fixing tasks when paired with a standard tool, while an older version of the same model solved only about 58 percent. In contrast, swapping the tool itself while keeping the model the same produced only tiny, statistically insignificant differences. This suggests that for these complex business tasks, the intelligence of the model is the primary driver of success, not the specific interface it uses to access the code.

Perhaps the most striking discovery was that improvements seen in general coding tests do not automatically translate to this specialized world. In the broader world of software engineering, newer models often show steady, predictable gains over their predecessors. Yet, in this specific business environment, a model that had recently outperformed its predecessor on general benchmarks failed to show the same advantage here. One model that had improved significantly on general tasks did not perform better than its older sibling when faced with these business logic puzzles. This indicates that the skills required to fix a generic Python script are not the same as those needed to correct a financial calculation in a specialized business system. The specialized nature of the language, with its strict rules about how data flows and how business logic is validated, creates a barrier that general training alone cannot easily overcome.

The researchers also looked closely at why the agents failed when they did. They found that the machines rarely failed because they could not build the software or because the code would not compile; those technical hurdles were easily cleared. Instead, the failures were almost always about understanding the problem. In nearly half of the failed attempts, the agent looked at the wrong part of the code entirely, editing files that had nothing to do with the error. In another large group of failures, the agent found the right file and the right section of code but still applied the wrong logic, implementing a solution that looked correct but did not actually fix the business rule. For example, an agent might correctly identify that a customer's order number was missing but then write code that assigned the wrong type of number, leaving the system broken. These errors suggest that the agents struggle to navigate the deep, interconnected web of business rules that define how a company operates, often missing the subtle context that a human engineer would grasp immediately.

The complexity of the task also played a decisive role. When the fix required changing only a single file or a small number of lines, the agents were quite successful. However, as soon as the solution required modifying multiple files or writing more than a few dozen lines of code, the success rate dropped sharply. This drop was dramatic, with accuracy falling by more than twenty percentage points when the task involved more than one file. It appears that while these agents can handle small, isolated repairs, they still struggle to coordinate changes across a large, interconnected system. Furthermore, the type of business area mattered; the agents were more successful at fixing problems in inventory management than in warehouse logistics, suggesting that their training data may have been richer in some business domains than others.

The study concludes that while artificial intelligence has made incredible strides in general coding, the path to fully autonomous engineering in specialized business environments is not yet clear. The tools exist, and the models are powerful, but the gap between general capability and domain-specific mastery remains wide. The researchers emphasize that to move forward, the industry needs to focus on these specialized benchmarks rather than relying on general tests. They also point out that the current limitations are not just about raw intelligence but about the ability to understand context, navigate complex codebases, and apply the correct business logic. As these systems evolve, the hope is that they will eventually learn to navigate the intricate rules of business software with the same ease they now show in general programming, but for now, the human engineer remains essential to guide them through the complexities of the real world.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →