Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering 2015
DOI: 10.1145/2786805.2786811
|View full text |Cite
|
Sign up to set email alerts
|

Staged program repair with condition synthesis

Abstract: We present PCR, a new automatic patch generation system. PCR uses a new condition synthesis technique to efficiently discover logical expressions that generate desired controlflow transfer patterns. Presented with a set of test cases, PCR deploys condition synthesis to find and repair incorrect if conditions that cause the application to produce the wrong result for one or more of the test cases. PCR also leverages condition synthesis to obtain a set of compound modifications that generate a rich, productive, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

4
232
0

Year Published

2017
2017
2020
2020

Publication Types

Select...
3
3
3

Relationship

0
9

Authors

Journals

citations
Cited by 279 publications
(236 citation statements)
references
References 38 publications
(99 reference statements)
4
232
0
Order By: Relevance
“…For example, the Null Pointer Checker template can be applied where there is object reference in the statement. Similar idea is also proposed by Long et al [31], which work SPR derived parameterized transformation schemas to customize the fault type and repairing behaviors.…”
Section: Pattern-based Tbrmentioning
confidence: 94%
“…For example, the Null Pointer Checker template can be applied where there is object reference in the statement. Similar idea is also proposed by Long et al [31], which work SPR derived parameterized transformation schemas to customize the fault type and repairing behaviors.…”
Section: Pattern-based Tbrmentioning
confidence: 94%
“…SPR [16] also combines condition synthesis with a dynamic analysis of the value each abstract conditional expression should take to make all tests pass, which helps aggressively prune the search space when no plausible repair exists. Prophet [17] improves SPR with a probabilistic model learned by mining programmer-written fixes.…”
Section: Related Workmentioning
confidence: 99%
“…Several techniques that use search-based algorithms have been proposed. Two examples include GenProg [20,56], which uses genetic programming to nd viable repairs for C programs, and SPR [23], which uses a staged repair strategy to search through a large space of candidate xes. Alternative analytical approaches also exist, including FixWizard [39], which analyzes bug xes in a piece of code and suggests comparable xes to similar parts of the code base; and FlowFixer [62], which repairs sequences of GUI interactions in modi ed test scripts for Java programs.…”
Section: Related Workmentioning
confidence: 99%