43,351 research outputs found
FixMiner: Mining Relevant Fix Patterns for Automated Program Repair
Patching is a common activity in software development. It is generally
performed on a source code base to address bugs or add new functionalities. In
this context, given the recurrence of bugs across projects, the associated
similar patches can be leveraged to extract generic fix actions. While the
literature includes various approaches leveraging similarity among patches to
guide program repair, these approaches often do not yield fix patterns that are
tractable and reusable as actionable input to APR systems. In this paper, we
propose a systematic and automated approach to mining relevant and actionable
fix patterns based on an iterative clustering strategy applied to atomic
changes within patches. The goal of FixMiner is thus to infer separate and
reusable fix patterns that can be leveraged in other patch generation systems.
Our technique, FixMiner, leverages Rich Edit Script which is a specialized tree
structure of the edit scripts that captures the AST-level context of the code
changes. FixMiner uses different tree representations of Rich Edit Scripts for
each round of clustering to identify similar changes. These are abstract syntax
trees, edit actions trees, and code context trees. We have evaluated FixMiner
on thousands of software patches collected from open source projects.
Preliminary results show that we are able to mine accurate patterns,
efficiently exploiting change information in Rich Edit Scripts. We further
integrated the mined patterns to an automated program repair prototype,
PARFixMiner, with which we are able to correctly fix 26 bugs of the Defects4J
benchmark. Beyond this quantitative performance, we show that the mined fix
patterns are sufficiently relevant to produce patches with a high probability
of correctness: 81% of PARFixMiner's generated plausible patches are correct.Comment: 31 pages, 11 figure
Training Big Random Forests with Little Resources
Without access to large compute clusters, building random forests on large
datasets is still a challenging problem. This is, in particular, the case if
fully-grown trees are desired. We propose a simple yet effective framework that
allows to efficiently construct ensembles of huge trees for hundreds of
millions or even billions of training instances using a cheap desktop computer
with commodity hardware. The basic idea is to consider a multi-level
construction scheme, which builds top trees for small random subsets of the
available data and which subsequently distributes all training instances to the
top trees' leaves for further processing. While being conceptually simple, the
overall efficiency crucially depends on the particular implementation of the
different phases. The practical merits of our approach are demonstrated using
dense datasets with hundreds of millions of training instances.Comment: 9 pages, 9 Figure
Fractal spectral triples on Kellendonk's -algebra of a substitution tiling
We introduce a new class of noncommutative spectral triples on Kellendonk's
-algebra associated with a nonperiodic substitution tiling. These spectral
triples are constructed from fractal trees on tilings, which define a geodesic
distance between any two tiles in the tiling. Since fractals typically have
infinite Euclidean length, the geodesic distance is defined using
Perron-Frobenius theory, and is self-similar with scaling factor given by the
Perron-Frobenius eigenvalue. We show that each spectral triple is
-summable, and respects the hierarchy of the substitution system. To
elucidate our results, we construct a fractal tree on the Penrose tiling, and
explicitly show how it gives rise to a collection of spectral triples.Comment: Updated to agree with published versio
Sandwiching saturation number of fullerene graphs
The saturation number of a graph is the cardinality of any smallest
maximal matching of , and it is denoted by . Fullerene graphs are
cubic planar graphs with exactly twelve 5-faces; all the other faces are
hexagons. They are used to capture the structure of carbon molecules. Here we
show that the saturation number of fullerenes on vertices is essentially
- …