To evaluate large language models (LLMs) for code, research has used manually created unit test-based benchmarks. However, these tests are often inadequate, missing corner cases and other implementation-specific oddities. This work introduces ProbeGen, a whitebox method that takes two or more executable pieces of code and searches for counterexamples to their equivalence. Comparing code semantics requires a deep understanding of code. We demonstrate that LLMs with execution feedback perform well at this task. In a common code synthesis benchmark, ProbeGen disproves 18% of samples considered equivalent to the ground truth by the benchmark-provided unit tests. Additionally, using ProbeGen, we can semantically cluster LLM samples for semantic self-consistency, improving pass@1 by 10% by unifying syntactically distinct but semantically similar samples.
Building similarity graph...
Analyzing shared references across papers
Loading...
Allamanis et al. (Wed,) studied this question.
www.synapsesocial.com/papers/68f0f51d8dd8ea469b1d6e44 — DOI: https://doi.org/10.48550/arxiv.2502.18473
Miltiadis Allamanis
Pengcheng Yin
Building similarity graph...
Analyzing shared references across papers
Loading...