2000 character limit reached
Execution-free Program Repair (2405.01309v2)
Published 2 May 2024 in cs.SE
Abstract: Automatic program repair usually relies heavily on test cases for both bug identification and fix validation. The issue is that writing test cases is tedious, running them takes much time, and validating a fix through tests does not guarantee its correctness. The novel idea in the Proof2Fix methodology and tool presented here is to rely instead on a program prover, without the need to run tests or to run the program at all. Results show that Proof2Fix finds and fixes significant historical bugs.
- The COST IC0701 Verification Competition. In International Conference on Formal Verification of Object-Oriented Software (FoVeOO). Springer, 3–21.
- Contract-based program repair without the contracts. In International Conference on Automated Software Engineering (ASE). IEEE, 637–647.
- Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Springer, 337–340.
- The Daikon system for dynamic detection of likely invariants. Science of computer programming 69, 1-3 (2007), 35–45.
- The 1st Verified Software Competition: Experience Report. In International Symposium on Formal Methods (FM). Springer, 154–168.
- The Boogie Verification Debugger. In International Conference on Software Engineering and Formal Methods (SEFM). Springer, 407–414.
- Genprog: A generic method for automatic software repair. Transactions on Software Engineering 38, 1 (2011), 54–72.
- Francesco Logozzo and Thomas Ball. 2012. Modular and Verified Automatic Program Repair. SIGPLAN Notices 47, 10 (2012), 133–146.
- Systematic evaluation of test failure results. In Workshop on Reliability Analysis of System Failure Data (RAF).
- Martin Monperrus. 2018a. Automatic software repair: A bibliography. ACM Computing Surveys (CSUR) 51, 1 (2018), 1–24.
- Martin Monperrus. 2018b. The living review on automated program repair. Ph. D. Dissertation. HAL Archives Ouvertes.
- Semfix: Program repair via semantic analysis. In International Conference on Software Engineering (ICSE). IEEE, 772–781.
- Automatic program repair using formal verification and expression templates. In International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI). Springer, 70–91.
- Exploring true test overfitting in dynamic automated program repair using formal methods. In International Conference on Software Testing, Verification and Validation (ICST). IEEE, 229–240.
- Carlos Pacheco and Michael D Ernst. 2007. Randoop: feedback-directed random testing for Java. In Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion. ACM, 815–816.
- Automated Program Repair in an Integrated Development Environment. In International Conference on Software Engineering (ICSE), Vol. 2. IEEE, 681–684.
- Automated Fixing of Programs with Contracts. Transactions on Software Engineering 40, 5 (2014), 427–449.
- Nikolai Tillmann and Jonathan De Halleux. 2008. Pex–White Box Test Generation for .Net. In International Conference on Tests and Proofs (TAP). Springer, 134–153.
- Autoproof: Auto-active Functional Verification of Object-Oriented Programs. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Springer, 566–580.
- Rijnard van Tonder and Claire Le Goues. 2018. Static Automated Program Repair for Heap Properties. In International Conference on Software Engineering (ICSE). ACM, 151–162.
- Satisfying Test Preconditions Through Guided Object Selection. In International Conference on Software Testing, Verification and Validation (ICST). IEEE, 303–312.
- Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs. Transactions on Software Engineering 43, 1 (2017), 34–55.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.