Benchmarks · Coding & software engineering

MBPP

also: Mostly Basic Python Problems, MBPP+

Can a model write short, correct Python programs for simple, everyday programming tasks — the kind an entry-level programmer would be expected to solve?

Google Research (Austin et al.)Released 16 August 2021Saturated

MBPP — Mostly Basic Python Problems — sets a lower bar than its more famous cousin HumanEval, and that was the point. Google researchers introduced it in 2021 as a crowd-sourced set of roughly 974 short Python tasks pitched at what an entry-level programmer could solve: check whether a number is a perfect square, find the largest value in a list, that kind of thing. Each problem carries a one- or two-sentence description, a reference solution, and three test cases, and — like HumanEval — a submission is graded by whether it passes those tests, not by how closely it resembles the reference code.

The benchmark’s simplicity made it an easy second data point to report alongside HumanEval, and it appears that way in most coding-model releases through the early 2020s: Meta’s Code Llama 34B reported 56.2% in 2023, and labs including DeepSeek and Hugging Face’s StarCoder team routinely cited MBPP scores next to HumanEval ones as a general fluency check.

That pairing became MBPP’s undoing as much as HumanEval’s. Both benchmarks are small, static, and have been public on the web for years, which by 2023–24 made training-data contamination a real concern once scores climbed into the 80s and 90s. Researchers built LiveCodeBench partly in direct response, pulling fresh competitive-programming problems on a rolling basis so a model’s cutoff date could be checked against the problem’s publication date. MBPP still gets reported as a familiar baseline, but it no longer carries much signal about frontier coding ability on its own.

The set

Around 974 crowd-sourced Python problems, each a one- or two-sentence task description paired with a reference solution and three automated test cases; a held-out slice of roughly 500 problems (task IDs 11–510) is the standard test split, plus a smaller hand-verified 'sanitized' subset. Scored by whether generated code passes the test cases, not by similarity to the reference solution.

Example

Task 1 of the dataset, verbatim: 'Write a function to find the minimum cost path to reach (m, n) from (0, 0) for the given cost matrix cost[][] and a position (m, n) in cost[][].' Graded against held-out asserts such as min_cost([[1, 2, 3], [4, 8, 2], [1, 5, 3]], 2, 2) == 8.github.com

Where it stands

Frontier coding models now clear MBPP comfortably; like HumanEval, its age and public circulation raise contamination concerns, and it has largely been superseded as a headline number by harder, continuously refreshed benchmarks such as LiveCodeBench.

How the top score changed hands

  1. August 2021Largest model tested in the original paper59.6% (few-shot)Fine-tuning added roughly a further 10 points in the paper's own experiments.
  2. August 2023Code Llama 34B56.2%Meta described this as the best result among open coding models at the time.

In the timeline · 4 entries

More coding & software engineering benchmarks