Automated Program Repair System
(Redirected from automated program repair system)
Jump to navigation
Jump to search
An Automated Program Repair System is a software repair system that implements automated program repair methods to perform automated program repair tasks.
- AKA: APR System, Automatic Bug Repair System, Self-Healing Software System.
- Context:
- It can typically detect Program Faults through automated testing.
- It can typically localize Bug Locations using fault localization techniques.
- It can typically synthesize Program Patches through patch generation algorithms.
- It can often rank Candidate Solutions by repair quality metrics.
- It can often integrate with Development Environments for seamless repair.
- ...
- It can range from being a Standalone Repair System to being an Integrated Repair System, depending on its deployment model.
- It can range from being a Rule-Based Repair System to being an AI-Based Repair System, depending on its core technology.
- It can range from being a Single-Language Repair System to being a Multi-Language Repair System, depending on its language support.
- It can range from being a Local Repair System to being a Cloud-Based Repair System, depending on its infrastructure architecture.
- ...
- It can utilize Static Analysis Tools for code understanding.
- It can employ Dynamic Analysis Tools for runtime behavior.
- It can maintain Repair History Databases for learning improvement.
- It can provide Repair Explanations for developer understanding.
- ...
- Example(s):
- GenProg System using genetic programming for C program repair.
- Prophet System learning from human patches.
- Angelix System using symbolic analysis for semantic repair.
- DeepFix System using neural networks for compiler error repair.
- Retrieval-Augmented Automated Program Repair Systems using RAG techniques.
- ASTOR System implementing multiple repair approaches.
- NPEFix System specializing in null pointer exceptions.
- ...
- Counter-Example(s):
- Code Review System, which identifies issues but requires manual fixes.
- Testing Framework, which detects failures without providing repairs.
- Code Generation System, which creates new code rather than repairing existing code.
- See: Software Repair System, Software Engineering Tool, Automated Testing System, Program Analysis System.