iFixR: bug report driven program repair

@article{Koyuncu2019iFixRBR,
  title={iFixR: bug report driven program repair},
  author={Anil Koyuncu and Kui Liu and Tegawend{\'e} F. Bissyand{\'e} and Dongsun Kim and Monperrus Martin and Jacques Klein and Yves Le Traon},
  journal={Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering},
  year={2019}
}
  • Anil Koyuncu, Kui Liu, +4 authors Y. L. Traon
  • Published 2019
  • Computer Science
  • Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Issue tracking systems are commonly used in modern software development for collecting feedback from users and developers. An ultimate automation target of software maintenance is then the systematization of patch generation for user-reported bugs. Although this ambition is aligned with the momentum of automated program repair, the literature has, so far, mostly focused on generate-and- validate setups where fault localization and patch generation are driven by a well-defined test suite. On the… Expand
A critical review on the evaluation of automated program repair systems
TLDR
A critical review on the evaluation of patch generation systems is conducted and eight evaluation metrics for fairly assessing the performance of APR tools are proposed to contribute to boosting the development of practical, and reliably performable program repair tools. Expand
Ad hoc Test Generation Through Binary Rewriting
TLDR
This work builds on record-replay and binary rewriting to automatically generate and run targeted tests for candidate patches significantly faster and more efficiently than traditional test suite generation techniques like symbolic execution. Expand
High-Quality Automated Program Repair
  • Manish Motwani
  • Computer Science
  • 2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
  • 2021
TLDR
This work proposes to equip APR tools with additional constraints derived from natural-language software artifacts such as bug reports and requirements specifications that describe the bug and intended software behavior but are not typically used by the APR tools. Expand
Experience Report: How Effective is Automated Program Repair for Industrial Software?
TLDR
The experience applying a state-of-the-art APR technique, ELIXIR, to large industrial software consisting of 150+ Java projects and 13 years of development histories is reported, providing lessons learned and recommendations regarding obstacles to the industrial use of current APR. Expand
Can automated program repair refine fault localization? a unified debugging approach
TLDR
The unified debugging approach is proposed to unify the two areas in the other direction for the first time, i.e., can program repair in turn help with fault localization, and designed ProFL to leverage patch-execution results (from program repair) as the feedback information for fault localization. Expand
Evaluating Automatic Program Repair Capabilities to Repair API Misuses
TLDR
The first empirical study to assess the ability of existing automated bug repair tools to repair API misuses, which is a class of bugs previously unexplored, is presented and an extensible execution framework to automatically execute multiple repair tools is developed. Expand
IBIR: Bug Report driven Fault Injection
TLDR
Experimental results show that the approach outperforms the fault injection performed by traditional mutation testing in terms of semantic similarity with the original bug, when applied at either system or class levels of granularity, and provides better, statistically significant, estimations of test effectiveness (fault detection). Expand
Automatically Repairing Programs Using Both Tests and Bug Reports
TLDR
This paper is the first to use combined FL for APR, apply a more rigorous methodology for measuring patch correctness, and evaluate on the new, substantially larger version of Defects4J. Expand
On the Impact of Flaky Tests in Automated Program Repair
TLDR
This study aims to characterize the impact of flaky tests for localizing bugs and the eventual influence on the repair performance, and calls for the program repair community to relax the artificial assumption that the test suite is free from flaky Tests. Expand
Beyond Tests
TLDR
This work presents a repair method that fixes program vulnerabilities without the need for a voluminous test suite by generalizing observable hazards/vulnerabilities (as constraint) from a single failing test or exploit. Expand
...
1
2
3
...

References

SHOWING 1-10 OF 120 REFERENCES
Comparing developer-provided to user-provided tests for fault localization and automated program repair
TLDR
Evidence that developer- provided tests are more targeted toward the defect and encode more information than user-provided tests is provided, and suggestions for improving the design and evaluation of fault localization and automated program repair techniques are provided. Expand
A Closer Look at Real-World Patches
TLDR
It is found that there are opportunities for APR techniques to improve their effectiveness by looking at code elements that have not yet been investigated, and expression-level granularity could reduce search space of finding fix ingredients, where previous studies never explored. Expand
R2Fix: Automatically Generating Bug Fixes from Bug Reports
TLDR
R2Fix combines past fix patterns, machine learning techniques, and semantic patch generation techniques to fix bugs automatically and could have shortened and saved up to an average of 63 days of bug diagnosis and patch generation time. Expand
Impact of tool support in patch construction
TLDR
The result of this study shows that tool-supported patches are increasingly adopted by the developer community while manually-written patches are accepted more quickly and there is an opportunity to directly leverage the output of bug detection tools to readily generate patches that are appropriate for fixing the problem, and that are consistent with manually- written patches. Expand
DirectFix: Looking for Simple Program Repairs
TLDR
This paper presents a novel semantics-based repair method that generates the simplest patch such that the program structure of the buggy program is maximally preserved and fuses fault localization and repair generation into one step. Expand
Harvesting Fix Hints in the History of Bugs
TLDR
This work builds on the assumption that bugs, and the associated user bug reports, are repetitive and proposes a new approach of fix recommendations based on the history of bugs and their associated fixes, using information retrieval techniques and machine learning classification. Expand
Who should fix this bug?
TLDR
This paper applies a machine learning algorithm to the open bug repository to learn the kinds of reports each developer resolves and reaches precision levels of 57% and 64% on the Eclipse and Firefox development projects respectively. Expand
History Driven Program Repair
TLDR
This work proposes a new technique that utilizes the wealth of bug fixes across projects in their development history to effectively guide and drive a program repair process, and can produce good-quality fixes for many more bugs as compared to the baselines while beingreasonably computationally efficient. Expand
Where is the bug and how is it fixed? an experiment with practitioners
TLDR
A dataset named DBGBENCH --- the correct fault locations, bug diagnoses, and software patches of 27 real errors in open-source C projects that were consolidated from hundreds of debugging sessions of professional software engineers are collected. Expand
AVATAR: Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
TLDR
This study builds the AVATAR APR system, which exploits fix patterns of static analysis violations as ingredients for patch generation, and highlights the relevance of static bug finding tools as indirect contributors of fix ingredients for addressing code defects identified with functional test cases. Expand
...
1
2
3
4
5
...