SEOct 30, 2018

Multi-Location Program Repair Strategies Learned from Past Successful Experience

arXiv:1810.12556v22 citations
Originality Synthesis-oriented
AI Analysis

This work addresses multi-location bug repair in software engineering, offering incremental improvements by learning from past successful patches.

The paper tackles the challenge of multi-location program repair by analyzing existing patches in Defects4J, categorizing bugs, and proposing two strategies, resulting in the repair of two previously unfixed bugs.

Automated program repair (APR) has great potential to reduce the effort and time-consumption in software maintenance and becomes a hot topic in software engineering recently with many approaches being proposed. Multi-location program repair has always been a challenge in this field since its complexity in logic and structure. While some approaches do not claim to have the features for solving multi-location bugs, they generate correct patches for these defects in practice. In this paper, we first make an observation on multi-location bugs in Defects4J and divide them into two categories (i.e., similar and relevant multi-location bugs) based on the repair actions in their patches. We then summarize the situation of multi-location bugs in Defects4J fixed by current tools. We analyze the twenty-two patches generated by current tools and propose two feasible strategies for fixing multi-location bugs, illustrating them through two detailed case studies. At last, the experimental results prove the feasibility of our methods with the repair of two bugs that have never been fixed before. By learning from successful experience in the past, this paper points out possible ways ahead for multi-location program repair.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes