Show Me Why It's Correct: Saving 1/3 of Debugging Time in Program Repair with Interactive Runtime Comparison
Proc. ACM Program. Lang. 9, OOPSLA1, Article 145 (April 2025) Automated Program Repair (APR) holds the promise of alleviating the burden of debugging and fixing software bugs. Despite this, developers still need to manually inspect each patch to confirm its correctness, which is tedious and time-con...
        Saved in:
      
    
          | Main Authors | , , , , , , | 
|---|---|
| Format | Journal Article | 
| Language | English | 
| Published | 
          
        01.03.2025
     | 
| Subjects | |
| Online Access | Get full text | 
| DOI | 10.48550/arxiv.2503.00618 | 
Cover
| Summary: | Proc. ACM Program. Lang. 9, OOPSLA1, Article 145 (April 2025) Automated Program Repair (APR) holds the promise of alleviating the burden of
debugging and fixing software bugs. Despite this, developers still need to
manually inspect each patch to confirm its correctness, which is tedious and
time-consuming. This challenge is exacerbated in the presence of plausible
patches, which accidentally pass test cases but may not correctly fix the bug.
To address this challenge, we propose an interactive approach called iFix to
facilitate patch understanding and comparison based on their runtime
difference. iFix performs static analysis to identify runtime variables related
to the buggy statement and captures their runtime values during execution for
each patch. These values are then aligned across different patch candidates,
allowing users to compare and contrast their runtime behavior. To evaluate
iFix, we conducted a within-subjects user study with 28 participants. Compared
with manual inspection and a state-of-the-art interactive patch filtering
technique, iFix reduced participants' task completion time by 36% and 33% while
also improving their confidence by 50% and 20%, respectively. Besides,
quantitative experiments demonstrate that iFix improves the ranking of correct
patches by at least 39% compared with other patch ranking methods and is
generalizable to different APR tools. | 
|---|---|
| DOI: | 10.48550/arxiv.2503.00618 |