Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering 2014
DOI: 10.1145/2635868.2635898
|View full text |Cite
|
Sign up to set email alerts
|

The plastic surgery hypothesis

Abstract: Recent work on genetic-programming-based approaches to automatic program patching have relied on the insight that the content of new code can often be assembled out of fragments of code that already exist in the code base. This insight has been dubbed the plastic surgery hypothesis; successful, well-known automatic repair tools such as GenProg rest on this hypothesis, but it has never been validated. We formalize and validate the plastic surgery hypothesis and empirically measure the extent to which raw materi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
108
0

Year Published

2015
2015
2023
2023

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 155 publications
(109 citation statements)
references
References 40 publications
1
108
0
Order By: Relevance
“…The goal of the Replace part of Copy and Replace is to obtain a rich patch search space that includes variable replacement to enable copied code to operate successfully in a new naming context. The success of these modifications is consistent with previous work that shows that, without replacement, only approximately 10% of developer changes can be fully derived from existing statements without modification [23,7,16]. This fact may also provide insight into the poor performance of previous patch generation systems [21,33,28] (which only copy statements without expression-level modifications).…”
Section: Pcrsupporting
confidence: 86%
See 1 more Smart Citation
“…The goal of the Replace part of Copy and Replace is to obtain a rich patch search space that includes variable replacement to enable copied code to operate successfully in a new naming context. The success of these modifications is consistent with previous work that shows that, without replacement, only approximately 10% of developer changes can be fully derived from existing statements without modification [23,7,16]. This fact may also provide insight into the poor performance of previous patch generation systems [21,33,28] (which only copy statements without expression-level modifications).…”
Section: Pcrsupporting
confidence: 86%
“…The rationale for the Copy and Replace modification is to exploit redundancy in the program -many successful program modifications can be constructed from code that already exists in the program [7]. The goal of the Replace part of Copy and Replace is to obtain a rich patch search space that includes variable replacement to enable copied code to operate successfully in a new naming context.…”
Section: Pcrmentioning
confidence: 99%
“…The original program is used as test oracle [3], while automated test data generation is used to assess faithfulness. Recent empirical results concerning code uniqueness [5] and the graftability of code modifications from existing code bases [1] have provided evidence that large existing systems contain a surprising amount of useful 'genetic material' for such improvement.…”
Section: App Testing and Optimisationmentioning
confidence: 99%
“…GenProg in particular is visible, widely cited, and used in subsequent research [25,9,33]. Example quotes that reflect how GenProg is widely viewed as a system that can successfully fix bugs in large C programs include: "We selected GenProg for the reason that it is almost the only state-ofthe-art automated repair tool having the ability of fixing real-world, large-scale C faulty programs" [33] and "successful, well-known automatic repair tools such as GenProg" [9].…”
Section: Introductionmentioning
confidence: 99%