Papers › FixEval: Execution-based Evaluation of Program Fixes for Programming Problems

FixEval: Execution-based Evaluation of Program Fixes for Programming Problems

15 Jun 2022arXiv:2206.07796archive 2025-07-28

Md Mahim Anjum Haque, Wasi Uddin Ahmad, Ismini Lourentzou, Chris Brown

The complexity of modern software has led to a drastic increase in the time and cost associated with detecting and rectifying software bugs. In response, researchers have explored various methods to automatically generate fixes for buggy code. However, due to the large combinatorial space of possible fixes for any given bug, few tools and datasets are available to evaluate model-generated fixes effectively. To address this issue, we introduce FixEval, a benchmark comprising of buggy code submissions to competitive programming problems and their corresponding fixes. FixEval offers an extensive collection of unit tests to evaluate the correctness of model-generated program fixes and assess further information regarding time, memory constraints, and acceptance based on a verdict. We consider two Transformer language models pretrained on programming languages as our baseline and compare them using match-based and execution-based evaluation metrics. Our experiments show that match-based metrics do not reflect model-generated program fixes accurately. At the same time, execution-based methods evaluate programs through all cases and scenarios designed explicitly for that solution. Therefore, we believe FixEval provides a step towards real-world automatic bug fixing and model-generated code evaluation. The dataset and models are open-sourced at https://github.com/mahimanzum/FixEval.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2206.07796")

Code

Syntology Ran 6 of 14 code samples harvested from 1 repository linked to this paper; 8 have no recorded run. Of those that ran: 6 ran with no contract checked.

By repository: official repository: 14 samples from 1 repository, 6 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

mahimanzum/fixeval officialmentioned in papermentioned on GitHubpytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

14 samples harvested; 6 ran; 0 honoured the contract we drafted; 8 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

6ran
8unverified

Licence: 0 of the 14 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from mahimanzum/fixeval. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

add_lang_by_task mahimanzum/fixeval/codet5/_utils.py official repository ran fingerprinted MIT (permissive) · 2e3e72e1e860afb2 · report
convert_clone_examples_to_features mahimanzum/fixeval/codet5/_utils.py official repository ran MIT (permissive) · cc181d5e6e9504de · report
convert_examples_to_features mahimanzum/fixeval/codet5/_utils.py official repository ran MIT (permissive) · 70674cae33ae9c61 · report
get_model_size mahimanzum/fixeval/codet5/models.py official repository ran MIT (permissive) · 8cfe38019e9d6a49 · report
load_codet5 mahimanzum/fixeval/codet5/models.py official repository ran MIT (permissive) · b57e5f4b7c4d2011 · report
only_digits mahimanzum/fixeval/src/run_codes_on_tc.py official repository ran MIT (permissive) · 2d959fcbc7b2caed · report
add_args mahimanzum/fixeval/codet5/configs.py official repository unverified MIT (permissive) · 414ce77640f6ccc5 · report
build_or_load_gen_model mahimanzum/fixeval/codet5/models.py official repository unverified MIT (permissive) · 75da417c97a30704 · report
calculate_similarity mahimanzum/fixeval/src/split.py official repository unverified MIT (permissive) · 2bd99fb1f49c213d · report
check_floating mahimanzum/fixeval/src/run_codes_on_tc.py official repository unverified MIT (permissive) · 934eab567f180187 · report
create_folder mahimanzum/fixeval/src/upload_to_drive.py official repository unverified MIT (permissive) · 6eb9a48d1e06e7cf · report
getJsonData mahimanzum/fixeval/src/merge.py official repository unverified MIT (permissive) · 304f3eb32f111d55 · report
load_collected_test_suit mahimanzum/fixeval/src/split.py official repository unverified MIT (permissive) · 81617394dadc5689 · report
read_dic mahimanzum/fixeval/src/make_submission_list_json.py official repository unverified MIT (permissive) · c5b926cebaadf75d · report

Tasks

Bug fixing

Datasets

Introduced by this paper, per the archive.

FixEval

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

Absolute Position EncodingsAdamAttentionBPEDense ConnectionsDropoutLabel SmoothingLayer NormalizationLinear LayerMulti-Head AttentionPosition-Wise Feed-Forward LayerResidual ConnectionSoftmaxTransformer

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections