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
In the timeline · 4 entries
LiveCodeBench paper published
Testing 52 models against problems tagged by publication date, the authors found evidence that some scored higher on problems predating their training cutoff.
Benchmarks & progress
DeepSeek releases DeepSeek Coder
The 33B version outperformed CodeLlama-34B on coding benchmarks and, once instruction-tuned, beat GPT-3.5-turbo on HumanEval — DeepSeek's first public model release.
Open weights & ecosystem · Models & capabilities
Meta releases Code Llama
Released in four sizes up to 70B parameters under Llama 2's licence, the largest variant reportedly matched ChatGPT on the HumanEval coding benchmark.
Open weights & ecosystem
Hugging Face releases StarCoder
The BigCode project released StarCoder, a 15B open code model trained on permissively-licensed repositories, with an OpenRAIL licence.
Open weights & ecosystem · Models & capabilities