GenProg: A Generic Method for Automatic Software Repair
By Claire Le Goues, Thanhvu Nguyen, Stephanie Forrest, Westley Weimer. 2012
1,227 citations recorded by the source corpus.
Subfields: Information Systems, Software, Signal Processing
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
- Charles Sutton
- Rishabh Singh
- Miltiadis Allamanis
- Lingming Zhang
- Chun Xia
- Michael Pradel
- Tien Nhut Nguyen
- Earl T. Barr
In Software
- Lingming Zhang
- Chun Xia
- Rishabh Singh
- Charles Sutton
- Michael Pradel
- Miltiadis Allamanis
- Koushik Sen
- Tien Nhut Nguyen
In Signal Processing
- Charles Sutton
- Rishabh Singh
- Miltiadis Allamanis
- Vincent J. Hellendoorn
- Swarat Chaudhuri
- Tien Nhut Nguyen
- Baishakhi Ray
- Earl T. Barr
Citations in the corpus
- Program Synthesis with Large Language Models (2021, neutral): “Program repair is the problem of automatically fixing bugs in programs, often based on a test suite [Le Goues et al., 2012, Long and Rinard, 2016].”
- Automatically Evading Classifiers: A Case Study on PDF Malware Classifiers (2016, methodology): “tasks including fixing legacy software bugs [17], software reverse engineering [13], and software re-engineering [23].”
- An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation (2018, methodology): “acceptable one according to a specification [54]. Behavioral repair techniques in particular change the behavior of a program under repair by changing its source or binary code [54]. These techniques [20, 45, 73] rely on a critical assumption, the redundancy assumption, that claims large programs co”
- Neural Program Repair by Jointly Learning to Localize and Repair (2019, background): “The hypothesis that a program that contains a bug at a location likely contains ingredients of the repair elsewhere in the program (Engler et al., 2001) has been used quite effectively in practice (Le Goues et al., 2012).”
- Learning to Fix Build Errors with Graph2Diff Neural Networks (2019, background): “Essentially, the copy mechanism is a way to encode into a neural network the insight from prior research on program repair [6, 18] that often code contains the seeds of its own repair.”
- CoCoNuT: combining context-aware neural translation models using ensemble for program repair (2020, methodology): “One of the main approaches for automatic program repair is the G&V method [17, 38, 52, 69, 88, 89].”
- Ask the Mutants: Mutating Faulty Programs for Fault Localization (2014, methodology): “We applied Jaccard, Ochiai, Op2, and MUSE, to GenProg-FL in order to fix look utx 4.3 , which is one of the subject programs recently used by Le Goues et al. [7].”
- Graph-Based Mining of In-the-Wild, Fine-Grained, Semantic Code Change Patterns (2019, methodology): “Other researchers detect the patterns of changes for program auto-repairing [19], [15] or software evolution [45], [48], [40].”
- Neurosymbolic Programming (2021, methodology): “Evolutionary methods are a popular paradigm in classical program synthesis (Krawiec, 2016; Le Goues et al., 2011).”
- Studying the Usage of Text-To-Text Transfer Transformer to Support Code-Related Tasks (2021, background): “Several of them [27]–[35] rely on the redundancy assumption, claiming that large programs contain the seeds of their own repair.”
- Is the cure worse than the disease? overfitting in automated program repair (2015, methodology): “Several experiments described in Section 4 use this method for measuring patch quality in terms of overfitting and generalizability (the inverse of overfitting).”
- RepairAgent: An Autonomous, LLM-Based Agent for Program Repair (2024, neutral): “…have explored various approaches to address the challenge of automatically fixing bugs [1], including techniques based on manually designed [2], [3] and (semi-)automatically extracted [4], [5], [6] fix patterns, based on symbolic constraints [7], [8], [9], and various machine learning-based…”
- TBar: revisiting template-based automated program repair (2019, methodology): “given that faults in software cause substantial financial losses to the software industry [5, 49], there is a momentum in minimizing the time-to-fix intervals by APR. Recently, various APR approaches [7, 8, 13, 14, 17, 19, 21, 22, 25, 27, 33, 34, 36, 37, 39, 45, 48, 61, 63, 71, 72] have been propose”
- 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].”
- Post-compiler software optimization for reducing energy (2014, methodology): “Earlier studies of a similar approach used for program repair suggest that our minimization step mitigates this threat significantly [34, 55].”
- DLFix: Context-based Code Transformation Learning for Automated Program Repair (2020, methodology): “Anti-patterns were integrated in existing search-based APR tools [38] (namely, GenProg [9] and SPR [23]) to help alleviate the problem of incor rect or incomplete fixes.”
- Cross-project code clones in GitHub (2018, background): “…somewhere that is surprisingly similar to code elsewhere, and can arise from copy-pasting practices (Kim et al. 2004), automatic program generators (Goues et al. 2012; Meng et al. 2011, 2013), or even emerge independently, due to the predictable syntax of underlying programming languages and API…”
- The strength of random search on automated program repair (2014, methodology): “In most cases, it is the computation of fitness (by running fixed size of test cases for each candidate patch) that occupies the largest part of the overall repair process [15, 23].”