Benchmark · coding

EvalPlus

0 results 0 models

EvalPlus rigorously tests LLM-generated code by extending the HumanEval and MBPP benchmarks (as HumanEval+ and MBPP+) with far more test cases; the metric is pass@k (usually pass@1).

Read more
Example
A Python function-completion task: given a function signature plus a natural-language docstring with a few examples, the model writes the body, which is then run against a greatly enlarged test suite that adds edge cases (empty inputs, boundaries, large values) the original benchmark missed.
Scoring
The metric is pass@k, almost always pass@1. A problem counts as solved only if the generated code passes every test (the original 'base' tests plus the new 'plus' tests). pass@k is the unbiased estimate: over n≥k samples with c correct it is 1 − C(n−c, k)/C(n, k); the reported score is the fraction of problems solved across the set.
Verification
Each solution is executed in a sandbox against the full base+plus suite under a per-test timeout and is accepted only if all assertions pass. The extra test inputs are produced by type-aware mutation plus LLM seeding and filtered against validated ground-truth reference solutions, so a 'passed' verdict means agreement with the reference on every input.
Why it matters
The original HumanEval/MBPP test suites are too thin and let plausible-but-wrong code pass, overstating model correctness; EvalPlus's ~80× (HumanEval+) and ~35× (MBPP+) larger suites catch those errors and typically drop pass@1 by several points, making it the more trustworthy standard for evaluating code LLMs.
Worked example
Task
Representative EvalPlus (HumanEval+)-style item — complete the function body from its signature and docstring: ```python from typing import List def sum_even_at_odd_index(numbers: List[int]) -> int: """Return the sum of all even values located at odd indices. >>> sum_even_at_odd_index([3, 8, 7, 4, 5]) 12 >>> sum_even_at_odd_index([1, 3, 5]) 0 """ ```
Solution
```python
def sum_even_at_odd_index(numbers: List[int]) -> int:
    return sum(n for i, n in enumerate(numbers) if i % 2 == 1 and n % 2 == 0)
```
Walkthrough
The solution iterates with enumerate, keeps values at odd indices (i % 2 == 1) that are even (n % 2 == 0), and sums them, matching both docstring examples and edge cases like an empty or all-odd list. Grading is pass/fail: the function is run against the full base+plus suite and the item counts only if every test passes.

No verified scores reported yet for this benchmark.