Which Inputs Trigger My Patch?

Automated program repair (APR) has made significant progress in autonomously locating and fixing software faults. However, developers face uncertainty in trusting and validating patches, as the boundaries of the patch and the concrete inputs the patch fixes often remain unclear. In this paper, we introduce Avicennapatch, a novel tool de-signed to provide precise explanations of the input structures that are covered by the patch. Building on the Avicenna framework, Avicennapatch uses a differential testing strategy, executing both the original and patched program versions to identify inputs where behavior diverges. By leveraging ISLA constraints, Avicennapatch generates human-readable, grammar-based explanations that characterize patch-triggering inputs in terms of syntactic and semantic features. To refine these explanations, Avicennapatch iteratively generates new inputs and adjusts its hypotheses, ensuring that the explanations are both precise and generalizable. Our approach not only enhances transparency in APR by clarifying the operational boundaries of patches but also supports developers in evaluating the reliability and robustness of automated fixes across diverse input scenarios. Our evaluation on 12 patches for 7 different subjects shows that Avicennapatch can provide effective and general explanations.

Authors

Institutions

Publication Details

Published
2025-04-29
DOI
https://doi.org/10.1109/apr66717.2025.00006
Citations
1
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
2.31
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Which Inputs Trigger My Patch?

Lars Grunske, Moeketsi Raselimo, Martin Eberlein
1 citations
Software Testing and Debugging Techniques
2.31
article

Which Inputs Trigger My Patch?

Lars Grunske, Moeketsi Raselimo, Martin Eberlein
article en
1 citations

Abstract

Automated program repair (APR) has made significant progress in autonomously locating and fixing software faults. However, developers face uncertainty in trusting and validating patches, as the boundaries of the patch and the concrete inputs the patch fixes often remain unclear. In this paper, we introduce Avicennapatch, a novel tool de-signed to provide precise explanations of the input structures that are covered by the patch. Building on the Avicenna framework, Avicennapatch uses a differential testing strategy, executing both the original and patched program versions to identify inputs where behavior diverges. By leveraging ISLA constraints, Avicennapatch generates human-readable, grammar-based explanations that characterize patch-triggering inputs in terms of syntactic and semantic features. To refine these explanations, Avicennapatch iteratively generates new inputs and adjusts its hypotheses, ensuring that the explanations are both precise and generalizable. Our approach not only enhances transparency in APR by clarifying the operational boundaries of patches but also supports developers in evaluating the reliability and robustness of automated fixes across diverse input scenarios. Our evaluation on 12 patches for 7 different subjects shows that Avicennapatch can provide effective and general explanations.

Humboldt-Universität zu Berlin (DE)
Openalex Percentile: Top 13%
Software Testing and Debugging Techniques
2.31
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Which Inputs Trigger My Patch? — Lars Grunske, Moeketsi Raselimo, et al. · (2025) | TGRS Research Map | TGRS