Automated Repair of Multi-fault Programs: Obstacles, Approaches, and Prospects

Modern automated program repair (APR) tools are well-tuned at repairing single fault programs (i.e., programs in which only one fault can occur at time). However, real-world software projects typically contain multiple bugs at the same time, which can interact with and mask each other in a variety of ways. The complex interaction of faults in multi-fault programs makes the automated repair problem more challenging than the traditional practice of presuming that a program contains a single fault. This paper studies the repair problem of multi-fault programs and identifies the main obstacles that arise when handling such programs using current repair approaches. The paper also describes three repair approaches for multi-fault programs, namely iterative, parallel, and simultaneous. While the simultaneous repair strategy depends on using cutting-edge fault localization techniques that enable the APR approaches to locate many faults at once, the iterative and parallel repair approaches rely on adapting the existing repair techniques for single-fault programs to handle multi-fault programs. Finally, the paper discusses each approach's advantages and drawbacks as well as the conditions in which the approach can be used successfully. To our knowledge, this is the first paper to specifically study and address the repair problem of multi-fault programs.

Authors

Institutions

Publication Details

Published
2024-10-18
DOI
https://doi.org/10.1145/3691620.3695287
Citations
2
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.97
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Automated Repair of Multi-fault Programs: Obstacles, Approaches, and Prospects

Omar I. Al-Bataineh
2 citations
Software Testing and Debugging Techniques
0.97
article

Automated Repair of Multi-fault Programs: Obstacles, Approaches, and Prospects

Omar I. Al-Bataineh
article en
2 citations

Abstract

Modern automated program repair (APR) tools are well-tuned at repairing single fault programs (i.e., programs in which only one fault can occur at time). However, real-world software projects typically contain multiple bugs at the same time, which can interact with and mask each other in a variety of ways. The complex interaction of faults in multi-fault programs makes the automated repair problem more challenging than the traditional practice of presuming that a program contains a single fault. This paper studies the repair problem of multi-fault programs and identifies the main obstacles that arise when handling such programs using current repair approaches. The paper also describes three repair approaches for multi-fault programs, namely iterative, parallel, and simultaneous. While the simultaneous repair strategy depends on using cutting-edge fault localization techniques that enable the APR approaches to locate many faults at once, the iterative and parallel repair approaches rely on adapting the existing repair techniques for single-fault programs to handle multi-fault programs. Finally, the paper discusses each approach's advantages and drawbacks as well as the conditions in which the approach can be used successfully. To our knowledge, this is the first paper to specifically study and address the repair problem of multi-fault programs.

Gran Sasso Science Institute (IT)
Climate action
Openalex Percentile: Top 21%
Software Testing and Debugging Techniques
0.97
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.