2013 · 54 citations · 23 references
EngineeringComputer EngineeringComputer ScienceAlgorithmsEmbedded SystemsSoftware EngineeringError DetectionReliable System DesignSoftware Fault ToleranceSoftware MaintenanceAutomated Program RepairAutomatic Error RepairBug FixingProgram InstrumentationProgram RepairRepairsSource Code AnalysisVirtual Machines
We present a method for automatically repairing arbitrary software defects in embedded systems, which have limited memory, disk and CPU capacities, but exist in great numbers. We extend evolutionary computation (EC) algorithms that search for valid repairs at the source code level to assembly and ELF format binaries, compensating for limited system resources with several algorithmic innovations. Our method does not require access to the source code or build toolchain of the software under repair, does not require program instrumentation, specialized execution environments, or virtual machines, or prior knowledge of the bug type.
23
Automatically finding patches using genetic programming
Westley Weimer, ThanhVu Nguyen, Claire Le Goues et al. · 2009 · 772 citations
International Conference on Software Engineering
IEEE Software · 2017 · 622 citations
Automatically patching errors in deployed software
Jeff Perkins, Sunghun Kim, Sam Larsen et al. · 2009 · 416 citations