Skip to content
Back to skills

Scratheval Eval

ASecurity

Evaluates LLMs' ability to understand, diagnose, and repair bugs in multimodal, event-driven block-based programming environments (Scratch). It probes functional correctness, structured bug explanation, trigger/mechanism identification, and patch minimality/semantic preservation. Use when the user wants to benchmark on ScratchEval, or asks about evaluating this task. Reports G-Acc.

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 11, 2026
researchpythongo

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill scratheval-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Scratheval Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Scratheval Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-scratheval-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-scratheval-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: scratheval-eval
description: Evaluates LLMs' ability to understand, diagnose, and repair bugs in multimodal, event-driven block-based programming environments (Scratch). It probes functional correctness, structured bug explanation, trigger/mechanism identification, and patch minimality/semantic preservation. Use when the user wants to benchmark on ScratchEval, or asks about evaluating this task. Reports G-Acc.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2602.00757
  bibtex_key: [REDACTED]
  confidence: high
---

# scratheval-eval

> ScratchEval : A Multimodal Evaluation Framework for LLMs in Block-Based Programming — Si et al. (2026) (arXiv:2602.00757, 2026)

## What this evaluates

Evaluates LLMs' ability to understand, diagnose, and repair bugs in multimodal, event-driven block-based programming environments (Scratch). It probes functional correctness, structured bug explanation, trigger/mechanism identification, and patch minimality/semantic preservation.

## Datasets

- **ScratchEval** — total 100; splits: test (100)

## Metrics

- `G-Acc` **(primary)** — range: [0, 1]
  - Accuracy of recovering the project-level intent and functional structure (e.g., project goal, main loop, core sprites).
- `U-Acc` — range: [0, 1]
  - Strict joint accuracy where the model's structured explanation correctly identifies the trigger, mechanism, and outcome matching the reference.
- `T-F1` — range: [0, 1]
  - F1-score for identifying the specific event or action that initiates faulty behavior against gold-standard triggers.
- `M-Acc` — range: [0, 1]
  - Accuracy of classifying the underlying causal bug mechanism (e.g., concurrency/timing, state initialization, missing handlers).
- `Fix Success Rate` — range: [0, 1]
  - Percentage of bugs where the model's generated patch passes all executable VM-level test suites.

## Input / output format

**Input**: Buggy Scratch project exported as .sb3 (containing blocks, sprites, and metadata) paired with original multimedia assets (PNG/SVG images, WAV sounds). No gameplay videos are provided.

**Output**: Structured bug explanation (trigger, mechanism, outcome) and/or a repaired project patch (modified blocks/sprites). For repair tasks, the output is evaluated as a complete .sb3 project.

## Scoring recipe

```python
def score_scratheval(predictions, gold):
    g_acc = 1.0 if predictions.project_intent == gold.project_intent else 0.0
    u_acc = 1.0 if (predictions.trigger == gold.trigger and
                    predictions.mechanism == gold.mechanism and
                    predictions.outcome == gold.outcome) else 0.0
    t_f1 = compute_f1(gold.triggers, predictions.triggers)
    m_acc = 1.0 if predictions.mechanism_tag == gold.mechanism_tag else 0.0
    fix_success = 1.0 if execute_vm_tests(predictions.patch) == 'PASS' else 0.0
    return {'G-Acc': g_acc, 'U-Acc': u_acc, 'T-F1': t_f1, 'M-Acc': m_acc, 'Fix Success': fix_success}
```

## Common pitfalls

- Models frequently over-edit or introduce auxiliary state/logic beyond the localized fix, violating minimality.
- Patches often exhibit semantic drift, passing tests but altering unintended project behaviors compared to the original intent.
- Models apply sequential-code heuristics that fail to respect Scratch’s event-driven concurrency and broadcast ordering.

## Evidence (verbatim from paper)

> Global Understanding (G-Acc) = accuracy of recovering the project-level intent/structure; Bug Understanding (U-Acc) = percentage of bugs where the model’s structured explanation matches the reference (trigger, mechanism, and outcome); T-F1 = trigger identification F1-score; M-Acc = mechanism tag accuracy; Fix Gains = number of previously failing repairs that became correct after LoRA tuning (i.e., fail→success relative to Qwen zero-shot on the 100-bug evaluation set).

## Citation

```bibtex
@misc{si2026scratheval,
  title={ScratchEval : A Multimodal Evaluation Framework for LLMs in Block-Based Programming},
  author={Si et al. (2026)},
  year={2026},
  note={arXiv:2602.00757}
}
```

- arXiv: 2602.00757

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.