English

FrontendBench: A Benchmark for Evaluating LLMs on Front-End Development via Automatic Evaluation

Software Engineering 2025-06-19 v2 Artificial Intelligence

Abstract

Large Language Models (LLMs) have made significant strides in front-end code generation. However, existing benchmarks exhibit several critical limitations: many tasks are overly simplistic, test cases often lack rigor, and end-to-end validation is absent. These issues hinder the accurate assessment of model performance. To address these challenges, we present FrontendBench, a benchmark co-developed by humans and LLMs. FrontendBench categorizes tasks based on code functionality and incorporates interactive test scenarios, enabling a more comprehensive and practical evaluation of front-end code generation capabilities. The benchmark comprises 148 meticulously crafted prompt-test case pairs spanning five levels of web components, from basic UI elements to complex interactive features. Each task reflects realistic front-end development challenges. Furthermore, we introduce an automatic evaluation framework that executes generated code within a sandbox environment and assesses outcomes using predefined test scripts. This framework achieves a 90.54% agreement rate with expert human evaluations, demonstrating high reliability. We benchmark several state-of-the-art LLMs on FrontendBench and observe substantial performance disparities in handling real-world front-end tasks. These results highlight FrontendBench as a reliable and scalable benchmark, supporting consistent multimodal evaluation and providing a robust foundation for future research in front-end code generation. Our data and code will be released soon.

Keywords

Cite

@article{arxiv.2506.13832,
  title  = {FrontendBench: A Benchmark for Evaluating LLMs on Front-End Development via Automatic Evaluation},
  author = {Hongda Zhu and Yiwen Zhang and Bing Zhao and Jingzhe Ding and Siyao Liu and Tong Liu and Dandan Wang and Yanan Liu and Zhaojian Li},
  journal= {arXiv preprint arXiv:2506.13832},
  year   = {2025}
}
R2 v1 2026-07-01T03:20:23.332Z