From Benchmark Data To Applicable Program Repair: An Experience Report

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Chandramohan, Mahinthan, Jancic, Jovan, Zhang, Yuntong, Krishnan, Padmanabhan
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914000839639040
author Chandramohan, Mahinthan
Jancic, Jovan
Zhang, Yuntong
Krishnan, Padmanabhan
author_facet Chandramohan, Mahinthan
Jancic, Jovan
Zhang, Yuntong
Krishnan, Padmanabhan
contents This paper describes our approach to automated program repair. We combine various techniques from the literature to achieve this. Our experiments show that our approach performs better than other techniques on standard benchmarks. However, on closer inspection, none of these techniques work on realistic defects that we see in industry. We find that augmenting code with formal specifications enables LLMs to generate higher-quality unit tests, especially for complex production code with improved coverage of edge cases and exception handling. However, specifications add little value for well-understood errors (e.g., null pointer, index out of bounds), but are beneficial for logic and string manipulation errors. Despite encouraging benchmark results, real-world adoption is limited since passing tests do not guarantee correct patches. Current challenges include insufficient expressiveness of the JML specification language, necessitating advanced verification tools and richer predicates. Our ongoing work is exploring contract automata, programming by example, and testcase repair, with a focus on integrating human feedback and measuring productivity gains - highlighting the gap between academic benchmarks and practical industry needs
format Preprint
id arxiv_https___arxiv_org_abs_2508_16071
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle From Benchmark Data To Applicable Program Repair: An Experience Report
Chandramohan, Mahinthan
Jancic, Jovan
Zhang, Yuntong
Krishnan, Padmanabhan
Software Engineering
Artificial Intelligence
This paper describes our approach to automated program repair. We combine various techniques from the literature to achieve this. Our experiments show that our approach performs better than other techniques on standard benchmarks. However, on closer inspection, none of these techniques work on realistic defects that we see in industry. We find that augmenting code with formal specifications enables LLMs to generate higher-quality unit tests, especially for complex production code with improved coverage of edge cases and exception handling. However, specifications add little value for well-understood errors (e.g., null pointer, index out of bounds), but are beneficial for logic and string manipulation errors. Despite encouraging benchmark results, real-world adoption is limited since passing tests do not guarantee correct patches. Current challenges include insufficient expressiveness of the JML specification language, necessitating advanced verification tools and richer predicates. Our ongoing work is exploring contract automata, programming by example, and testcase repair, with a focus on integrating human feedback and measuring productivity gains - highlighting the gap between academic benchmarks and practical industry needs
title From Benchmark Data To Applicable Program Repair: An Experience Report
topic Software Engineering
Artificial Intelligence
url https://arxiv.org/abs/2508.16071