4,175 research outputs found
Do the Fix Ingredients Already Exist? An Empirical Inquiry into the Redundancy Assumptions of Program Repair Approaches
Much initial research on automatic program repair has focused on experimental
results to probe their potential to find patches and reduce development effort.
Relatively less effort has been put into understanding the hows and whys of
such approaches. For example, a critical assumption of the GenProg technique is
that certain bugs can be fixed by copying and re-arranging existing code. In
other words, GenProg assumes that the fix ingredients already exist elsewhere
in the code. In this paper, we formalize these assumptions around the concept
of ''temporal redundancy''. A temporally redundant commit is only composed of
what has already existed in previous commits. Our experiments show that a large
proportion of commits that add existing code are temporally redundant. This
validates the fundamental redundancy assumption of GenProg.Comment: ICSE - 36th IEEE International Conference on Software Engineering
(2014
Mining Fix Patterns for FindBugs Violations
In this paper, we first collect and track a large number of fixed and unfixed
violations across revisions of software.
The empirical analyses reveal that there are discrepancies in the
distributions of violations that are detected and those that are fixed, in
terms of occurrences, spread and categories, which can provide insights into
prioritizing violations.
To automatically identify patterns in violations and their fixes, we propose
an approach that utilizes convolutional neural networks to learn features and
clustering to regroup similar instances. We then evaluate the usefulness of the
identified fix patterns by applying them to unfixed violations.
The results show that developers will accept and merge a majority (69/116) of
fixes generated from the inferred fix patterns. It is also noteworthy that the
yielded patterns are applicable to four real bugs in the Defects4J major
benchmark for software testing and automated repair.Comment: Accepted for IEEE Transactions on Software Engineerin
- …