Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis 2019
DOI: 10.1145/3293882.3330559
|View full text |Cite
|
Sign up to set email alerts
|

Practical program repair via bytecode mutation

Abstract: Software debugging is tedious, time-consuming, and even errorprone by itself. So, various automated debugging techniques have been proposed in the literature to facilitate the debugging process. Automated Program Repair (APR) is one of the most recent advances in automated debugging, and can directly produce patches for buggy programs with minimal human intervention. Although various advanced APR techniques (including those that are either search-based or semantic-based) have been proposed, the simplistic muta… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
105
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 107 publications
(118 citation statements)
references
References 84 publications
0
105
0
Order By: Relevance
“…Note that iFixFlakies performance can be improved, e.g., Patcher could modify the bytecode of the patch code in-memory [23,35] to avoid compilation during delta debugging, or could instrument the code to allow turning statements on or off during delta debugging similar to metamutants [31,50]. In general, considering the large amount of time to create all patches and there being fewer unique patches than all patches, we do not recommend developers to use iFixFlakies to create all patches using all helpers for each orderdependent test; obtaining just a few appears to suffice.…”
Section: Rq3: Performancementioning
confidence: 99%
“…Note that iFixFlakies performance can be improved, e.g., Patcher could modify the bytecode of the patch code in-memory [23,35] to avoid compilation during delta debugging, or could instrument the code to allow turning statements on or off during delta debugging similar to metamutants [31,50]. In general, considering the large amount of time to create all patches and there being fewer unique patches than all patches, we do not recommend developers to use iFixFlakies to create all patches using all helpers for each orderdependent test; obtaining just a few appears to suffice.…”
Section: Rq3: Performancementioning
confidence: 99%
“…If the patched program passes all tests successfully, the patch candidate is considered as a plausible patch [58]. Once such a plausible patch is identified, TBar stops generating other patch candidates for this bug to fix bugs in a standard and practical program repair workflow [38,39,49,76,77], but does not generate all plausible patches for each bug, unlike PraPR [15]. Otherwise, the pattern selection and patch generation process is resumed until all AST nodes of buggy code are traversed.…”
Section: Patch Generation and Validationmentioning
confidence: 99%
“…Request permissions from permissions@acm.org. ISSTA '19, July [15][16][17][18][19]2019 18,21,23,25,26,29,31,36,38,39,41,42,44,51,53,67,69,76,77] have been proposed, aiming at reducing manual debugging efforts through automatically generating patches.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Mehne et al [15] report that patch validation can take between 40% to 92% of total repair time and propose to prune the patches needed to be tested as well as test case selection to reduce this cost. A recent line of research [6,9], proposes to use the HotSwap trick offered by the JVM to validate the patches on-the-fly, without restarting the JVM. This was previously used in mutation testing systems like PIT [2].…”
Section: Related Workmentioning
confidence: 99%