2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE) 2017
DOI: 10.1109/icse.2017.45
|View full text |Cite
|
Sign up to set email alerts
|

Precise Condition Synthesis for Program Repair

Abstract: Due to the difficulty of repairing defect, many research efforts have been devoted into automatic defect repair. Given a buggy program that fails some test cases, a typical automatic repair technique tries to modify the program to make all tests pass. However, since the test suites in real world projects are usually insufficient, aiming at passing the test suites often leads to incorrect patches. This problem is known as weak test suites or overfitting.In this paper we aim to produce precise patches, that is, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
286
0
1

Year Published

2017
2017
2023
2023

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 260 publications
(308 citation statements)
references
References 47 publications
2
286
0
1
Order By: Relevance
“…Since the seminal work by Weimer et al [83] who relied on genetic programming to evolve program variants until one variant is found to satisfy the functional constraints of a test suite, the community has been interested in test-based techniques to repair programs without specifications. Thus, various approaches [12,13,18,19,25,26,32,33,38,45,48,49,52,53,55,62,65,83,84,92,93] have been proposed in the literature aiming at reducing manual debugging efforts through automatically generating patches. Beyond fixing syntactic errors, i.e., cases where the code violates some programming language specifications [16], the current challenges lie in fixing semantic bugs, i.e., cases where implementation of program behavior deviates from developer's intention [22,61].…”
Section: Introductionmentioning
confidence: 99%
“…Since the seminal work by Weimer et al [83] who relied on genetic programming to evolve program variants until one variant is found to satisfy the functional constraints of a test suite, the community has been interested in test-based techniques to repair programs without specifications. Thus, various approaches [12,13,18,19,25,26,32,33,38,45,48,49,52,53,55,62,65,83,84,92,93] have been proposed in the literature aiming at reducing manual debugging efforts through automatically generating patches. Beyond fixing syntactic errors, i.e., cases where the code violates some programming language specifications [16], the current challenges lie in fixing semantic bugs, i.e., cases where implementation of program behavior deviates from developer's intention [22,61].…”
Section: Introductionmentioning
confidence: 99%
“…Recently, Xiong et al [24] demonstrate the strength of hints provided by variable dependency and code document when synthesis patches in ACS.…”
Section: Search-based Tbrmentioning
confidence: 99%
“…We quantitatively compare JAID to all other available tools for APR of Java programs that have also used DEFECTS4J in their evaluations: 4 1) jGenProg is the implementation of GenProg [14], [33]-which works on C-for Java programs; we refer to jGenProg's evaluation in [19]; 2) jKali is the implementation of Kali [28]-which works on C-for Java programs; we refer to jKali's evaluation in [19]; 3) Nopol focuses on fixing Java conditional expression; we refer to Nopol's evaluation in [19]; 4) xPAR is a reimplementation of PAR [12]-which is not publicly available-discussed in [13] and [35]; 5) HDA implements the "history-driven" technique of [13]; 6) ACS implements the "precise condition synthesis" of [35].…”
Section: Setupmentioning
confidence: 99%
“…MintHint [10] also builds a statistical model to generate repair suggestions consisting of expressions that may be useful in a complete fix. ACS [35] is a recent technique that significantly improves the precision of condition synthesis based on a combination of data-and control-dependency analysis, and mining API documentation and Boolean predicates in existing projects. JAID also relies on data-and control-dependency analysis, and can guess modifications to conditional expressions, but it does not need any additional source of information other than the project being fixed.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation