Automatic patch generation learned from human-written patches
By Dongsun Kim, Jaechang Nam, Jaewoo Song, Sunghun Kim. International Conference on Software Engineering, 2013
764 citations recorded by the source corpus.
View Paper: https://www.semanticscholar.org/paper/3136ad216d30bdff223e5c3f02e07f980a6a45a5
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
- Michele Tufano
- Miltiadis Allamanis
- Chun Xia
- Yi Li
- Saikat Chakraborty
- Yangruibo Ding
- Michael Pradel
- Earl T. Barr
Citations in the corpus
- A syntax-guided edit decoder for neural program repair (2021, unknown): “A typical way is to learn from existing software repositories, such as learning patterns from existing patches [2, 23, 24, 28, 40, 42, 58], and using program code to guide the patch generation [24, 43, 60, 71, 72].”
- Is the cure worse than the disease? overfitting in automated program repair (2015, background): “For example, GenProg quickly and cheaply generated patches for 55 out of 105 C bugs [32], while PAR showed comparable results on 119 Java bugs [29].”
- DLFix: Context-based Code Transformation Learning for Automated Program Repair (2020, methodology): “Instead of mining buggy and fixed code, other approaches focus on mining code changes to generate a similar patch (e.g.,Cap Gen [42], SimFix [13], FixMiner [15]).”
- Graph-Based Statistical Language Model for Code (2015, background): “, code completion/suggestion [1], [3]), code search [4], documentation [5], framework adaptation [6], program repair [7], [8], language migration [9], etc.”
- Graph-Based Mining of In-the-Wild, Fine-Grained, Semantic Code Change Patterns (2019, background): “We now have the evidence that previous tools [3], [4], [5], [6], [16], [19], [26], [27], [31], [32], [36], [39], [44], [46], [47] that exploited the repetitiveness of code changes are empirically justified.”
- TBar: revisiting template-based automated program repair (2019, methodology): “On the top of PAR [19], Saha et al. [56] further defined three new fix templates to improve the repair performance.”
- CODIT: Code Editing With Tree-Based Neural Models (2018, methodology): “Automatic program repair is a well-researched field, and previous researchers proposed many generic techniques for general software bugs repair [55], [82], [83], [84], [85].”
- Staged program repair with condition synthesis (2015, background): “However, the PAR search space (with the eight templates in the PAR paper [17]) is in fact a subset of the SPR search space.”
- Repairing Bugs in Python Assignments Using Large Language Models (2022, background): “Existing approaches have applied a variety of technical ideas, including formal program logic [5], [31], [32], search-based techniques [33] like genetic programming [2], [34], [35], and machine learning [3], [4], [36].”
- An analysis of patch plausibility and correctness for generate-and-validate patch generation systems (2015, background): “The PAR system is another prominent generate-andvalidate automatic patch generation system [27].”
- An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation (2018, methodology): “ by constructing code with particular properties [36,41,52,53,61,64,78,93]. Some approaches perform automated program repair by searching the fix among manuallywritten patterns, as in the case of PAR [37], or through a SMT (satisfiability modulo theories)- based semantic code search over a large bod”
- The strength of random search on automated program repair (2014, methodology): “According to fix templates learned from human-written patches, Par [18] has fixed successfully many bugs existing in real world Java programs.”
- History Driven Program Repair (2016, methodology): “This has at least partially informed a number of previous studies and approaches [7], [17], [25], [33].”
- Baldur: Whole-Proof Generation and Repair with Large Language Models (2023, background): “, GenProg [44], Prophet [48], AE [88], HDRepair [43], ErrDoc [82], JAID [10], Qlose [17], and Par [38], ssFix [92], CapGen [89], SimFix [36], Hercules [73], Recoder [101], among others).”
- RepairAgent: An Autonomous, LLM-Based Agent for Program Repair (2024, unknown): “…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 approaches [10], [11], [12], [13], [14],…”
- DirectFix: Looking for Simple Program Repairs (2015, methodology): “, patch maintainability [8] and users’ willingness to accept patches [7]) have been raised and studied in recent years.”
- Shaping program repair space with existing patches and similar code (2018, methodology): “Typical approaches include PAR [25], Genesis [34], QAFix [12] and SOFix [33], which confine the search space based on repair patterns, and Prophet [36] and HDRepair [28] that rank the patches by learned models.”