IEEE Transactions on Software Engineering,
Год журнала:
2019,
Номер
47(11), С. 2332 - 2347
Опубликована: Окт. 11, 2019
Automated
test
case
generation
is
an
effective
technique
to
yield
high-coverage
suites.
While
the
majority
of
research
effort
has
been
devoted
satisfying
coverage
criteria,
a
recent
trend
emerged
towards
optimizing
other
non-coverage
aspects.
In
this
regard,
runtime
and
memory
usage
are
two
essential
dimensions:
less
expensive
tests
reduce
resource
demands
for
process
later
regression
testing
phases.
This
study
shows
that
performance-aware
requires
solving
main
challenges:
providing
good
approximation
with
minimal
overhead
avoiding
detrimental
effects
on
both
final
fault
detection
effectiveness.
To
tackle
these
challenges,
we
conceived
set
performance
proxies
--
inspired
by
previous
work
provide
reasonable
estimation
execution
costs
(i.e.,
usage).
Thus,
propose
adaptive
strategy,
called
aDynaMOSA,
which
leverages
extending
DynaMOSA,
state-of-the-art
evolutionary
algorithm
in
unit
testing.
Our
empirical
involving
110
non-trivial
Java
classes
reveals
our
approach
generates
suite
statistically
significant
improvements
(-25%)
heap
consumption
(-15%)
compared
DynaMOSA.
Additionally,
aDynaMOSA
comparable
results
DynaMOSA
over
seven
different
criteria
similar
investigation
also
highlights
without
adaptiveness)
not
sufficient
generate
more
performant
cases
compromising
overall
coverage.
The Journal of Object Technology,
Год журнала:
2017,
Номер
16(4), С. 1:1 - 1:1
Опубликована: Янв. 1, 2017
In
this
preface,
the
editors
present
an
overview
of
topics
and
scope
workshop
on
Verification
Monitoring
at
Runtime
Execution
(VORTEX),
describe
editorial
reviewing
process
for
its
edition
ECOOP
2022.
Software Testing Verification and Reliability,
Год журнала:
2019,
Номер
29(4-5)
Опубликована: Июнь 1, 2019
Summary
Search‐based
unit
test
generation,
if
effective
at
fault
detection,
can
lower
the
cost
of
testing.
Such
techniques
rely
on
fitness
functions
to
guide
search.
Ultimately,
such
represent
goals
that
approximate—but
do
not
ensure—fault
detection.
The
need
approximations
leads
two
questions—
produce
tests
and,
so,
which
should
be
used
generate
tests?
To
answer
these
questions,
we
have
assessed
fault‐detection
capabilities
suites
generated
satisfy
eight
white‐box
597
real
faults
from
Defects4J
database.
Our
analysis
has
found
strongest
indicators
effectiveness
are
a
high
level
code
coverage
over
targeted
class
and
satisfaction
criterion's
obligations.
Consequently,
branch
function
is
most
effective.
findings
indicate
thoroughly
explore
system
structure
as
primary
generation
objectives—supported
by
secondary
orthogonal,
supporting
scenarios.
results
also
provide
further
evidence
future
approaches
focus
attaining
higher
private
better
initialization
manipulation
dependencies.
ACM Transactions on Software Engineering and Methodology,
Год журнала:
2021,
Номер
31(1), С. 1 - 34
Опубликована: Сен. 28, 2021
Search-based
software
testing
(SBST)
has
been
shown
to
be
an
effective
technique
generate
test
cases
automatically.
Its
effectiveness
strongly
depends
on
the
guidance
of
fitness
function.
Unfortunately,
a
common
issue
in
SBST
is
so-called
flag
problem
,
where
landscape
presents
plateau
that
provides
no
search.
In
this
article,
we
provide
series
novel
testability
transformations
aimed
at
providing
context
commonly
used
API
calls
(e.g.,
strings
need
converted
into
valid
date/time
objects).
We
also
specific
helping
REST
Web
Services.
implemented
our
techniques
as
extension
EvoMaster
tool
generates
system-level
cases.
Experiments
nine
open-source
web
services,
well
industrial
service,
show
improve
performance
significantly.
EvoSuite
is
a
search-based
tool
that
automatically
generates
unit
tests
for
Java
code.
This
paper
summarizes
the
results
and
experiences
of
EvoSuite's
participation
at
fourth
testing
competition
SBST
2016,
where
Evo-Suite
achieved
highest
overall
score.
Application
Programming
Interfaces
(APIs)
typically
come
with
(implicit)
usage
constraints.
The
violations
of
these
constraints
(API
misuses)
can
lead
to
software
crashes.
Even
though
there
are
several
tools
that
detect
API
misuses,
most
them
suffer
from
a
very
high
rate
false
positives.
We
introduce
Catcher,
novel
misuse
detection
approach
combines
static
exception
propagation
analysis
automatic
search-based
test
case
generation
effectively
and
efficiently
pinpoint
crash-prone
misuses
in
client
applications.
validate
Catcher
against
21
Java
applications,
targeting
the
platform's
API.
Our
results
indicate
is
able
generate
cases
uncover
243
(unique)
result
empirical
evaluation
shows
large
number
(77
cases)
would
remain
undetected
by
traditional
coverage-based
generator
EvoSuite.
Additionally,
on
average,
eight
times
faster
than
EvoSuite
generating
for
identified
misuses.
Finally,
we
find
majority
exceptions
triggered
unexpected
developers,
i.e.,
not
only
unhandled
source
code
but
also
listed
documentation
Search-based
software
testing
(SBST)
generates
tests
using
search
algorithms
guided
by
measurements
gauging
how
far
a
test
case
is
away
from
exercising
coverage
goal.
The
effectiveness
of
SBST
largely
depends
on
the
continuity
and
monotonicity
fitness
landscape
decided
these
operators.
Unfortunately,
challenging
when
function
under
takes
object
inputs,
as
classical
measurement
hardly
provide
guidance
for
constructing
legitimate
inputs.
To
overcome
this
problem,
we
propose
seeds,
i.e.,
code
skeletons
objects
which
enable
use
measurements.
Given
target
branch
in
test,
first
statically
analyze
to
build
an
construction
graph
that
captures
relation
between
operands
method
states
their
relevant
Based
graph,
synthesize
template
where
each
"slot"
mutation
point
algorithm.
This
approach
can
be
seamlessly
integrated
with
existing
algorithms,
implemented
EvoObj
top
EvoSuite.
Our
experiments
show
outperforms
EvoSuite
statistical
significance
2750
methods
over
103
open
source
Java
projects
state-of-the-art
algorithms.
Engineering Science and Technology an International Journal,
Год журнала:
2021,
Номер
24(3), С. 806 - 817
Опубликована: Фев. 6, 2021
Testing
an
object-oriented
software
is
harder
than
testing
a
structural
program
due
to
inheritance,
states,
behaviour
of
different
objects,
association,
and
polymorphism
properties
the
software,
which
established
based
on
classes.
The
classes
should
be
carefully
tested
using
predefined
test
cases
optimize
coverage
goals.
Because
generating
manually
labour-intensive,
search-based
methods
that
maximize
criteria
by
search
algorithm
can
used
generate
automatically.
Artificial
Bee
Colony
(ABC)
powerful
tool
performs
balanced
exploration
exploitation.
In
this
study,
two
new
multi-criteria
combinatorial
ABC
algorithms
mutation
crossover
operators
are
proposed
suite
maximizes
fitness
function
combining
various
goals
for
software.
First,
archive-based
keep
covered
targets
in
archive
use
available
resource
efficiently.
Second,
improved
bring
more
diversity
population.
To
investigate
effect
archive,
basic
compared
set
from
SF110
corpus.
validate
efficiency
methods,
they
state-of-the-art
evolutionary
generators
random
methodology
divided
into
difficulty
levels
their
weight
method
class
values.
experimental
results
reveal
introducing
provides
fast
convergence
produces
higher
problems
with
both
low
high
levels.
Search-based
test
generation,
if
effective
at
fault
detection,
can
lower
the
cost
of
testing.
Such
techniques
rely
on
fitness
functions
to
guide
search.
Ultimately,
such
represent
goals
that
approximate
-
but
do
not
ensure
detection.
The
need
approximations
leads
two
questions
produce
tests
and,
so,
which
should
be
used
generate
tests?
To
answer
these
questions,
we
have
assessed
fault-detection
capabilities
EvoSuite
framework
and
eight
its
353
real
faults
from
Defects4J
database.
Our
analysis
has
found
strongest
indicator
effectiveness
is
a
high
level
code
coverage.
Consequently,
branch
coverage
function
most
effective.
findings
indicate
thoroughly
explore
system
structure
as
primary
generation
objectives
supported
by
secondary
vary
scenarios
explored.