Automated Program Repair Task
Jump to navigation
Jump to search
An Automated Program Repair Task is a corrective maintenance task that can automatically identify and fix software defects to restore software functionality.
- AKA: Automatic Bug Fixing Task, Self-Healing Software Task, Automated Code Repair Task.
- Context:
- It can typically detect Software Bug Patterns through automated analysis.
- It can typically generate Software Patches using repair algorithms.
- It can often validate Repair Solutions against software test suites.
- It can often utilize Historical Bug-Fix Data for repair guidance.
- ...
- It can range from being a Simple Automated Program Repair Task to being a Complex Automated Program Repair Task, depending on its defect complexity.
- It can range from being a Syntactic Automated Program Repair Task to being a Semantic Automated Program Repair Task, depending on its repair approach.
- It can range from being a Single-Line Automated Program Repair Task to being a Multi-Location Automated Program Repair Task, depending on its repair scope.
- It can range from being a Test-Driven Automated Program Repair Task to being a Specification-Driven Automated Program Repair Task, depending on its correctness criteria.
- ...
- It can be performed by an Automated Program Repair System.
- It can integrate with Software Development Tools.
- It can support Software Quality Assurance Tasks.
- ...
- Example(s):
- Template-Based Automated Program Repair Tasks that apply fix templates.
- Search-Based Automated Program Repair Tasks using evolutionary algorithms.
- Learning-Based Automated Program Repair Tasks using machine learning models.
- Large Language Model-Based Automated Program Repair Tasks using LLMs.
- Constraint-Based Automated Program Repair Tasks using formal verification.
- Pattern-Mining Automated Program Repair Tasks extracting repair patterns from code repositorys.
- Test-Suite-Augmented Automated Program Repair Tasks generating additional test cases.
- ...
- Counter-Example(s):
- Manual Debugging Task, which requires human intervention.
- Software Testing Task, which detects but does not fix defects.
- Software Code Refactoring Task, which improves structure without fixing bugs.
- See: Corrective Maintenance Task, Software Maintenance Task, Software Engineering Task, Bug Detection Task.