Test-based
generate-and-validate
automated
program
repair
(APR)
systems
generate
many
patches
that
pass
the
test
suite
without
fixing
bug.
The
generated
must
be
manually
inspected
by
developers,
a
task
tends
to
time-consuming,
thereby
diminishing
role
of
APR
in
reducing
debugging
costs.
Proceedings of the ACM on software engineering.,
Journal Year:
2024,
Volume and Issue:
1(FSE), P. 1 - 23
Published: July 12, 2024
Just-in-time
defect
prediction
(JIT-DP)
is
used
to
predict
the
defect-proneness
of
a
commit
and
just-in-time
localization
(JIT-DL)
locate
exact
buggy
positions
(defective
lines)
in
commit.
Recently,
various
JIT-DP
JIT-DL
techniques
have
been
proposed,
while
most
them
use
post-mortem
way
(e.g.,
code
entropy,
attention
weight,
LIME)
achieve
goal
based
on
results
JIT-DP.
These
methods
do
not
utilize
label
information
defective
lines
during
model
building.
In
this
paper,
we
propose
unified
JIT-Smart,
which
makes
training
process
tasks
mutually
reinforcing
multi-task
learning
process.
Specifically,
design
novel
network
(DLN),
explicitly
introduces
for
supervised
with
considering
class
imbalance
issue.
To
further
investigate
accuracy
cost-effectiveness
compare
JIT-Smart
7
state-of-the-art
baselines
under
5
commit-level
line-level
evaluation
metrics
JIT-DL.
The
demonstrate
that
statistically
better
than
all
JIT-DP,
at
median
value,
achieves
F1-Score
0.475,
AUC
0.886,
Recall@20%Effort
0.823,
Effort@20%Recall
0.01
Popt
0.942
improves
by
19.89%-702.74%,
1.23%-31.34%,
9.44%-33.16%,
21.6%-53.82%
1.94%-34.89%,
respectively
.
JIT-DL,
Top-5
Accuracy
0.539
Top-10
0.396,
line
0.726,
0.087
IFA
0.098
101.83%-178.35%,
101.01%-277.31%,
257.88%-404.63%,
71.91%-74.31%
99.11%-99.41%,
respectively.
Statistical
analysis
shows
our
performs
more
stably
best-performing
model.
Besides,
also
best
performance
compared
cross-project
evaluation.
Test-based
generate-and-validate
automated
program
repair
(APR)
systems
generate
many
patches
that
pass
the
test
suite
without
fixing
bug.
The
generated
must
be
manually
inspected
by
developers,
a
task
tends
to
time-consuming,
thereby
diminishing
role
of
APR
in
reducing
debugging
costs.