Automatically patching errors in deployed software
By Jeff H. Perkins, Sunghun Kim, Samuel Larsen, Saman P. Amarasinghe, Jonathan Bachrach, Michael Carbin, Carlos Pacheco, F. Sherwood, Stelios Sidiroglou, Greg Sullivan and 4 more. Symposium on Operating Systems Principles, 2009
432 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Computer Networks and Communications, Signal Processing
View Paper: https://www.semanticscholar.org/paper/74fda58710e2569a4a5ea4a606d8083daab0248f
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Premkumar T. Devanbu
- Michael Pradel
- Earl T. Barr
- Tien Nhut Nguyen
- Anh Tuan Nguyen
- Charles Sutton
- Michele Tufano
- Denys Poshyvanyk
In Computer Networks and Communications
- Anh Tuan Nguyen
- Michael Pradel
- Tien Nhut Nguyen
- Premkumar T. Devanbu
- Hoan Anh Nguyen
- Claire Le Goues
- Earl T. Barr
- Mark Harman
In Signal Processing
- Michael Pradel
- Tien Nhut Nguyen
- Premkumar T. Devanbu
- Fan Long
- Martin C. Rinard
- Abhik Roychoudhury
- Claire Le Goues
- Earl T. Barr
Citations in the corpus
- Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs (2018, methodology): “Different kinds of techniques are proposed for automatic repair, including patch generation [27], [41] and dynamic program state recovery [42], [7].”
- History Driven Program Repair (2016, background): “propose ClearView, targeting security errors in binary programs [40].”
- Automatic patch generation by learning correct code (2016, background): “ClearView: ClearView is a generate-and-validate system that observes normal executions to learn invariants that characterize safe behavior [25].”
- The ManyBugs and IntroClass Benchmarks for Automated Repair of C Programs (2015, methodology): “Similarly Jolt [68] and ClearView [15] are language independent, address defect types that are included in either or both of the defect sets, and require indicative or runtime workloads.”
- An analysis of patch plausibility and correctness for generate-and-validate patch generation systems (2015, methodology): “ClearView is a generate-and-validate system that observes normal executions to learn invariants that characterize safe behavior [30].”
- The plastic surgery hypothesis (2014, neutral): “In 2009, the advent of GenProg [41] and Clearview [31] demonstrated automated bug repair.”
- DirectFix: Looking for Simple Program Repairs (2015, background): “A number of them repair specific defect types [24]–[30], while DirectFix is designed to be a general purpose program repair tool.”
- Towards secure and dependable software-defined networks (2013, background): “Solutions as those proposed in [30] can help in achieving this goal.”
- SemFix: Program repair via semantic analysis (2013, methodology): “ClearView [24] follows a similar scheme but works on deployed binary program when high availability is required.”
- Staged program repair with condition synthesis (2015, background): “In the last decade researchers have developed automatic techniques that have been demonstrated to successfully correct targeted but important classes of defects such as out of bounds accesses [33, 30, 34], integer overflow errors [34], null pointer dereferences [11, 23], infinite loops [18], memory ”
- Neural Nets Can Learn Function Type Signatures From Binaries (2017, background): “Some examples of the tasks include hot patching [33] and fine-”
- A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each (2012, methodology): “This evaluation includes two orders of magnitude more source code than AutoFix-E [9] or our previous work [11], two orders of magnitude more test cases than ClearView [8], and two orders of magnitude more defects than AFix [10] (in addition to being strictly larger than each of those four previous p”
- Large Language Models for Software Engineering: Survey and Open Problems (2023, background): “However, more recently, research on program synthesis took a different turn: Inspired by Genetic Programming [165], and early results from Automated Program Repair [138], [166], it considered a wider set of transformations in an approach that has come to be known as ‘Genetic Improvement’ [7], [167].”
- Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis (2016, background): “Apart from general-purpose repair tools like ours, there are also other repair approaches targeted for specific types of defects (e.g., buffer overflow) or specific application domains (e.g., web applications) [5, 9, 11, 18, 27, 30, 35–37].”
- A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects (2016, methodology): “First, the automated program repairing approaches [22, 54] involve searching a large space of programs in the codebase with the assumption that a fix might already occur in the same program or other ones [22].”
- GenProg: A Generic Method for Automatic Software Repair (2012, background): “We follow Rinard et al. [14] in defining a repair as a patch consisting of one or more code changes that, when applied to a program, cause it to pass a set of test cases (typically including both tests of required behavior as well as a test case encoding the bug).”
- Is the cure worse than the disease? overfitting in automated program repair (2015, methodology): “INTRODUCTION Automated program repair [4,13,17,18,26,28,29,32,36,37,39,39, 43,46,47,50,55,58,60,61] holds great potential to reduce debugging costs and improve software quality.”
- An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation (2018, background): “A complementary set of repair techniques leverage program analysis and program synthesis to repair programs by constructing code with particular properties [35, 40, 51, 52, 60, 63, 77, 92].”
- Automated program repair (2019, background): “Other approaches consider alternative oracles, such as potential invariants inferred from dynamic executions [32].”