Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3691620.3695287acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

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

Published: 27 October 2024 Publication History

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.

References

[1]
C. Le Goues, M. Pradel, and A. Roychoudhury. "Automated program repair." In: Communications of the ACM 62.12 (2019), pp. 56--65.
[2]
M. Monperrus. "Automatic Software Repair: A Bibliography." In: ACM Computing Surveys 51.1 (2018), pp. 1--24.
[3]
H. Zhong and Z. Su. "An Empirical Study on Real Bug Fixes." In: 37th IEEE/ACM International Conference on Software Engineering, ICSE. Ed. by A. Bertolino, G. Canfora, and S. G. Elbaum. IEEE Computer Society, 2015, pp. 913--923.
[4]
Y. Xiaobo, L. Bin, and L. Jianxing. "The Failure Behaviors of Multi-Faults Programs: An Empirical Study." In: 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C). 2017, pp. 1--7.
[5]
G. An, J. Yoon, and S. Yoo. "Searching for Multi-fault Programs in Defects4J." In: Search-Based Software Engineering. Ed. by U.-M. O'Reilly and X. Devroey. Springer International Publishing, 2021, pp. 153--158.
[6]
W. E. Wong et al. "Effective Software Fault Localization Using an RBF Neural Network." In: IEEE Transactions on Reliability 61.1 (2012), pp. 149--169.
[7]
D. Jeffrey, N. Gupta, and R. Gupta. "Effective and efficient localization of multiple faults using value replacement." In: 2009 IEEE International Conference on Software Maintenance. 2009, pp. 221--230.
[8]
Y. Zheng et al. "Localizing multiple software faults based on evolution algorithm." In: J. Syst. Softw. 139 (2018), pp. 107--123.
[9]
R. Gao and W. E. Wong. "MSeer---An Advanced Technique for Locating Multiple Bugs in Parallel." In: IEEE Transactions on Software Engineering 45.3 (2019), pp. 301--318.
[10]
J. Kim, J. Kim, and E. Lee. "VFL: Variable-based fault localization." In: Inf. Softw. Technol. 107 (2019), pp. 179--191.
[11]
O. I. Al-Bataineh, L. Moonen, and L. Vidziunas. "Extending the range of bugs that automated program repair can handle." In: J. Syst. Softw. 209 (2024), p. 111918.
[12]
K. Liu et al. "On the Efficiency of Test Suite based Program Repair A Systematic Assessment of 16 Automated Repair Systems for Java Programs." In: IEEE/ACM 42nd International Conference on Software Engineering (ICSE). 2020, pp. 615--627.
[13]
K. Liu et al. "You Cannot Fix What You Cannot Find! An Investigation of Fault Localization Bias in Benchmarking Automated Program Repair Systems." In: 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST). 2019, pp. 102--113.
[14]
M. Zhang, S. Wang, and W. Qiu. "A Software Multi-fault Locating Technique based on Space Shrinkage." In: 2022 9th International Conference on Dependable Systems and Their Applications (DSA). 2022, pp. 853--858.
[15]
L. C. Briand, Y. Labiche, and X. Liu. "Using Machine Learning to Support Debugging with Tarantula." In: The 18th IEEE International Symposium on Software Reliability (ISSRE '07). 2007, pp. 137--146.
[16]
L. Jiang and Z. Su. "Context-aware statistical debugging: from bug predictors to faulty control flow paths." In: 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE). ACM, 2007, pp. 184--193.
[17]
R. Abreu, P. Zoeteweij, and A. J. van Gemund. "On the Accuracy of Spectrum-based Fault Localization." In: Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007). 2007, pp. 89--98.
[18]
X. Zhang, N. Gupta, and R. Gupta. "Locating faulty code by multiple points slicing." In: Softw. Pract. Exp. (2007), pp. 935--961.
[19]
X. Zhang et al. "Experimental evaluation of using dynamic slices for fault location." In: Proceedings of the Sixth International Workshop on Automated Debugging, AADEBUG. 2005, pp. 33--42.
[20]
L. Zhang, M. Kim, and S. Khurshid. "Localizing failure-inducing program edits based on spectrum information." In: IEEE International Conference on Software Maintenance (ICSM). 2011, pp. 23--32.
[21]
J. Xuan and M. Monperrus. "Learning to Combine Multiple Ranking Metrics for Fault Localization." In: 2014 IEEE International Conference on Software Maintenance and Evolution. 2014, pp. 191--200.
[22]
X. Li, M. d'Amorim, and A. Orso. "Iterative User-Driven Fault Localization." In: Hardware and Software: Verification and Testing - 12th International Haifa Verification Conference, HVC. 2016, pp. 82--98.
[23]
S. Pearson et al. "Evaluating and Improving Fault Localization." In: IEEE/ACM 39th International Conference on Software Engineering (ICSE). 2017, pp. 609--620.
[24]
Y. Lou et al. "Can automated program repair refine fault localization? a unified debugging approach." In: International Symposium on Software Testing and Analysis ISSTA. 2020, pp. 75--87.
[25]
Y. Li, S. Wang, and T. N. Nguyen. "Fault Localization with Code Coverage Representation Learning." In: 43rd IEEE/ACM International Conference on Software Engineering, ICSE. 2021, pp. 661--673.
[26]
J. A. Jones, M. J. Harrold, and J. F. Bowring. "Debugging in Parallel." In: Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, ISSTA. Ed. by D. S. Rosenblum and S. G. Elbaum. ACM, 2007, pp. 16--26.
[27]
D. C. B. Fischer. "Mining Bug Repositories for Multi-Fault Programs." In: CoRR arXiv:2403.19171v1 (2024).

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering
October 2024
2587 pages
ISBN:9798400712487
DOI:10.1145/3691620
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 October 2024

Check for updates

Qualifiers

  • Research-article

Conference

ASE '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 48
    Total Downloads
  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)7
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media