Papers
Topics
Authors
Recent
Search
2000 character limit reached

Execution-free Program Repair

Published 2 May 2024 in cs.SE | (2405.01309v2)

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.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (22)
  1. The COST IC0701 Verification Competition. In International Conference on Formal Verification of Object-Oriented Software (FoVeOO). Springer, 3–21.
  2. Contract-based program repair without the contracts. In International Conference on Automated Software Engineering (ASE). IEEE, 637–647.
  3. 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.
  4. The Daikon system for dynamic detection of likely invariants. Science of computer programming 69, 1-3 (2007), 35–45.
  5. The 1st Verified Software Competition: Experience Report. In International Symposium on Formal Methods (FM). Springer, 154–168.
  6. The Boogie Verification Debugger. In International Conference on Software Engineering and Formal Methods (SEFM). Springer, 407–414.
  7. Genprog: A generic method for automatic software repair. Transactions on Software Engineering 38, 1 (2011), 54–72.
  8. Francesco Logozzo and Thomas Ball. 2012. Modular and Verified Automatic Program Repair. SIGPLAN Notices 47, 10 (2012), 133–146.
  9. Systematic evaluation of test failure results. In Workshop on Reliability Analysis of System Failure Data (RAF).
  10. Martin Monperrus. 2018a. Automatic software repair: A bibliography. ACM Computing Surveys (CSUR) 51, 1 (2018), 1–24.
  11. Martin Monperrus. 2018b. The living review on automated program repair. Ph. D. Dissertation. HAL Archives Ouvertes.
  12. Semfix: Program repair via semantic analysis. In International Conference on Software Engineering (ICSE). IEEE, 772–781.
  13. Automatic program repair using formal verification and expression templates. In International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI). Springer, 70–91.
  14. 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.
  15. 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.
  16. Automated Program Repair in an Integrated Development Environment. In International Conference on Software Engineering (ICSE), Vol. 2. IEEE, 681–684.
  17. Automated Fixing of Programs with Contracts. Transactions on Software Engineering 40, 5 (2014), 427–449.
  18. 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.
  19. 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.
  20. 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.
  21. Satisfying Test Preconditions Through Guided Object Selection. In International Conference on Software Testing, Verification and Validation (ICST). IEEE, 303–312.
  22. Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs. Transactions on Software Engineering 43, 1 (2017), 34–55.

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 2 tweets with 1 like about this paper.