# Mainframebench Eval

> Probes large language models' ability to reason about legacy mainframe systems, interpret COBOL code, and generate accurate technical summaries. It tests domain-specific code understanding through multiple-choice questions, open-ended QA, and text generation tasks. Use when the user wants to benchmark on MainframeBench, or asks about evaluating this task. Reports Accuracy.

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

---


# mainframebench-eval

> XMainframe: A Large Language Model for Mainframe Modernization — Dau et al. (2024) (arXiv:2408.04660, 2024)

## What this evaluates

Probes large language models' ability to reason about legacy mainframe systems, interpret COBOL code, and generate accurate technical summaries. It tests domain-specific code understanding through multiple-choice questions, open-ended QA, and text generation tasks.

## Datasets

- **MainframeBench** — total ?; splits: test (-1); repo https://github.com/FSoft-AI4Code/XMainframe

## Metrics

- `Accuracy` **(primary)** — range: percent
  - Percentage of correctly selected options in multiple-choice questions.
- `MAP` — range: [0, 1]
  - Mean Average Precision for ranking or retrieving relevant answers in question answering.
- `F1-Score` — range: [0, 1]
  - Harmonic mean of precision and recall for generated answers.
- `BERTScore` — range: [0, 1]
  - Cosine similarity between contextual embeddings of generated and reference text using BERT.
- `RougeL` — range: [0, 1]
  - Recall of the longest common subsequence between generated and reference text.
- `Meteor` — range: [0, 1]
  - Metric for evaluation with alignment and synonymy, weighting recall and penalty for fluency.
- `BLEU-4` — range: [0, 100]
  - 4-gram n-gram precision with brevity penalty comparing generated text to references.

## Input / output format

**Input**: Multiple-choice questions with four options (A, B, C, D); open-ended questions about mainframe/COBOL systems; COBOL code snippets requiring natural language summaries.

**Output**: Single letter option (A/B/C/D) for MCQ; free-text answer for QA; concise natural language summary for COBOL code.

## Scoring recipe

```python
def score_mcq(pred, gold):
    return 1.0 if pred.strip().upper() == gold.strip().upper() else 0.0

def score_text(pred, gold, metric):
    if metric == 'BLEU-4': return compute_bleu(4, gold, pred)
    if metric == 'BERTScore': return compute_bertscore(pred, gold)
    if metric == 'RougeL': return compute_rouge_l(pred, gold)
    if metric == 'Meteor': return compute_meteor(pred, gold)
    if metric == 'F1': return compute_f1(pred, gold)
    if metric == 'MAP': return compute_map(pred, gold)
```

## Common pitfalls

- Temperature is fixed to ~0 for all evaluations, which may penalize models that perform better with sampling or higher creativity.
- Metrics like BLEU-4 and BERTScore are reported for both QA and Summarization, but reference texts for QA are not explicitly defined (e.g., exact match vs. fuzzy matching).
- MainframeBench size and split details are not provided in the text, making reproducibility difficult without accessing the GitHub repository.

## Evidence (verbatim from paper)

> We evaluate these LLMs using zero-shot prompting and fixing the temperature hyperparameter to approximately 0, leading to more exploitation of the model’s current knowledge. Metrics for Multiple Choice Question task: Because it involves the direct model to select a single answer from the provided options (A, B, C, D), it is considered a classification task. We use Accuracy to report the performance of methods on multiple-choice questions. Metrics for Question Answering and COBOL Summarization task: We use various metrics in NLP, including MAP, F1-Score, BertScore, RougeL, Meteor, BLEU-4, as the evaluation metrics for these tasks.

## Citation

```bibtex
@misc{dau2024xmainframe,
  title={XMainframe: A Large Language Model for Mainframe Modernization},
  author={Dau et al. (2024)},
  year={2024},
  note={arXiv:2408.04660}
}
```

- arXiv: 2408.04660

