# Humaneval Mbpp Eval

> Evaluates a model's ability to generate correct Python code for programming tasks and iteratively refine it using execution feedback or simulated human guidance. It measures both initial code generation quality and the effectiveness of a multi-turn debugging loop under strict runtime and edge-case constraints. Use when the user wants to benchmark on HumanEval, MBPP, HumanEval+, MBPP+, or asks about evaluating this task. Reports pass@1.

- Skill: `qhjqhj00/humaneval-mbpp-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/humaneval-mbpp-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/humaneval-mbpp-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/humaneval-mbpp-eval

---


# humaneval-mbpp-eval

> OpenCodeInterpreter: Integrating Code Generation with Execution and Refinement — Zheng et al. (2024) (arXiv:2402.14658, 2024)

## What this evaluates

Evaluates a model's ability to generate correct Python code for programming tasks and iteratively refine it using execution feedback or simulated human guidance. It measures both initial code generation quality and the effectiveness of a multi-turn debugging loop under strict runtime and edge-case constraints.

## Datasets

- **HumanEval** — total ?; splits: test (-1)
- **MBPP** — total ?; splits: test (-1)
- **HumanEval+** — total ?; splits: test (-1)
- **MBPP+** — total ?; splits: test (-1)

## Metrics

- `pass@1` **(primary)** — range: percent
  - The percentage of tasks for which the generated code passes all provided unit tests. Evaluated via greedy decoding for single-turn, and up to two refinement rounds for multi-turn scenarios.

## Input / output format

**Input**: Task description/prompt. For multi-turn: previous code attempt, execution results (exceptions, expected vs actual outputs, or timeout messages), and optional synthetic human feedback.

**Output**: Python code snippet solving the task.

## Scoring recipe

```python
def score(predictions, gold_tests):
    passed = 0
    for pred in predictions:
        sanitized = evalplus.sanitize(pred)
        for _ in range(2):
            if run_tests(sanitized, gold_tests):
                passed += 1
                break
            feedback = get_execution_feedback(sanitized, gold_tests)
            sanitized = refine_code(sanitized, feedback)
    return (passed / len(predictions)) * 100
```

## Common pitfalls

- Using the original HumanEval/MBPP test suites instead of EvalPlus, which significantly underestimates performance due to missing edge cases.
- Ignoring the multi-turn refinement limit (max 2 rounds) when calculating pass rates, leading to inflated scores.
- Not applying the EvalPlus unified sanitizer to generated code before execution, which can cause false negatives on syntactically valid but non-standard code.

## Evidence (verbatim from paper)

> For single-turn code generation, we craft a simple instruction to encapsulate the original prompt, forming a new input for the model. The exact prompts are detailed in Appendix D, and we assess the model's performance using the pass@1 metric, as per EvalPlus's guidelines.

## Citation

```bibtex
@misc{zheng2024opencodeinterpreter,
  title={OpenCodeInterpreter: Integrating Code Generation with Execution and Refinement},
  author={Zheng et al. (2024)},
  year={2024},
  note={arXiv:2402.14658}
}
```

- arXiv: 2402.14658

