2017
DOI: 10.1109/tse.2016.2560811
|View full text |Cite
|
Sign up to set email alerts
|

Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs

Abstract: International audienceWe propose NOPOL, an approach to automatic repair of buggy conditional statements (i.e., if-then-else statements). This approach takes a buggy program as well as a test suite as input and generates a patch with a conditional expression as output. The test suite is required to contain passing test cases to model the expected behavior of the program and at least one failing test case that reveals the bug to be repaired. The process of NOPOL consists of three major phases. First, NOPOL emplo… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
281
0
1

Year Published

2017
2017
2023
2023

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 345 publications
(282 citation statements)
references
References 56 publications
0
281
0
1
Order By: Relevance
“…While GenProg relies on randomness, utilizing program synthesis techniques can directly generate patches even though they are limited to a certain subset of bugs. Other notable approaches include contract‐based fixing, program repair based on behavior models, and conditional statement repair …”
Section: Related Workmentioning
confidence: 99%
“…While GenProg relies on randomness, utilizing program synthesis techniques can directly generate patches even though they are limited to a certain subset of bugs. Other notable approaches include contract‐based fixing, program repair based on behavior models, and conditional statement repair …”
Section: Related Workmentioning
confidence: 99%
“…"Semantic" fix actions-based on the information captured by the state in suspicious snapshotsare usefully complemented by a few "syntactic" fix actionsbased on simple mutation operators that capture common sources of programming mistakes such as off-by-one errors. Following an approach adopted by other APR techniques [13], [36] (a 1 , . . .…”
Section: Fix Generation: Fix Actionsmentioning
confidence: 99%
“…GenProg [33] pioneered the "generate-and-validate" approach, where many plausible fixes are generated based on heuristics, and then are validated against the available tests. More recently, others [5], [21], [22], [24], [36] have pursued the "constraint-based" approach, where fixes are constructed to satisfy suitable constraints that correspond to their validity. The two approaches are not sharply distinct, in that fixes generated by constraintbased techniques may still require validation if the constraints they satisfy by construction are not sufficiently precise to ensure that they are correct-as it often happens when dealing with incomplete specifications.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Recent years, researchers have proposed approaches for automatically repair bugs such as [8,18,24]. Test-based repair repair approaches [8] use test suite as correctness oracles, i.e., they are used as proxies of the program specification.…”
Section: Automated Repair Bugs Of Mobile Appsmentioning
confidence: 99%