6,424 research outputs found
Evaluating Random Mutant Selection at Class-Level in Projects with Non-Adequate Test Suites
Mutation testing is a standard technique to evaluate the quality of a test
suite. Due to its computationally intensive nature, many approaches have been
proposed to make this technique feasible in real case scenarios. Among these
approaches, uniform random mutant selection has been demonstrated to be simple
and promising. However, works on this area analyze mutant samples at project
level mainly on projects with adequate test suites. In this paper, we fill this
lack of empirical validation by analyzing random mutant selection at class
level on projects with non-adequate test suites. First, we show that uniform
random mutant selection underachieves the expected results. Then, we propose a
new approach named weighted random mutant selection which generates more
representative mutant samples. Finally, we show that representative mutant
samples are larger for projects with high test adequacy.Comment: EASE 2016, Article 11 , 10 page
LittleDarwin: a Feature-Rich and Extensible Mutation Testing Framework for Large and Complex Java Systems
Mutation testing is a well-studied method for increasing the quality of a
test suite. We designed LittleDarwin as a mutation testing framework able to
cope with large and complex Java software systems, while still being easily
extensible with new experimental components. LittleDarwin addresses two
existing problems in the domain of mutation testing: having a tool able to work
within an industrial setting, and yet, be open to extension for cutting edge
techniques provided by academia. LittleDarwin already offers higher-order
mutation, null type mutants, mutant sampling, manual mutation, and mutant
subsumption analysis. There is no tool today available with all these features
that is able to work with typical industrial software systems.Comment: Pre-proceedings of the 7th IPM International Conference on
Fundamentals of Software Engineerin
Is the Stack Distance Between Test Case and Method Correlated With Test Effectiveness?
Mutation testing is a means to assess the effectiveness of a test suite and
its outcome is considered more meaningful than code coverage metrics. However,
despite several optimizations, mutation testing requires a significant
computational effort and has not been widely adopted in industry. Therefore, we
study in this paper whether test effectiveness can be approximated using a more
light-weight approach. We hypothesize that a test case is more likely to detect
faults in methods that are close to the test case on the call stack than in
methods that the test case accesses indirectly through many other methods.
Based on this hypothesis, we propose the minimal stack distance between test
case and method as a new test measure, which expresses how close any test case
comes to a given method, and study its correlation with test effectiveness. We
conducted an empirical study with 21 open-source projects, which comprise in
total 1.8 million LOC, and show that a correlation exists between stack
distance and test effectiveness. The correlation reaches a strength up to 0.58.
We further show that a classifier using the minimal stack distance along with
additional easily computable measures can predict the mutation testing result
of a method with 92.9% precision and 93.4% recall. Hence, such a classifier can
be taken into consideration as a light-weight alternative to mutation testing
or as a preceding, less costly step to that.Comment: EASE 201
mrstudyr: Retrospectively Studying the Effectiveness of Mutant Reduction Techniques
Mutation testing is a well-known method for measuring
a test suite’s quality. However, due to its computational
expense and intrinsic difficulties (e.g., detecting equivalent mutants
and potentially checking a mutant’s status for each test),
mutation testing is often challenging to practically use. To control
the computational cost of mutation testing, many reduction
strategies have been proposed (e.g., uniform random sampling
over mutants). Yet, a stand-alone tool to compare the efficiency
and effectiveness of these methods is heretofore unavailable. Since
existing mutation testing tools are often complex and languagedependent,
this paper presents a tool, called mrstudyr, that enables
the “retrospective” study of mutant reduction methods using the
data collected from a prior analysis of all mutants. Focusing
on the mutation operators and the mutants that they produce,
the presented tool allows developers to prototype and evaluate
mutant reducers without being burdened by the implementation
details of mutation testing tools. Along with describing mrstudyr’s
design and overviewing the experimental results from using it,
this paper inaugurates the public release of this open-source tool
Analyzing Machupo virus-receptor binding by molecular dynamics simulations
In many biological applications, we would like to be able to computationally
predict mutational effects on affinity in protein-protein interactions.
However, many commonly used methods to predict these effects perform poorly in
important test cases. In particular, the effects of multiple mutations,
non-alanine substitutions, and flexible loops are difficult to predict with
available tools and protocols. We present here an existing method applied in a
novel way to a new test case; we interrogate affinity differences resulting
from mutations in a host-virus protein-protein interface. We use steered
molecular dynamics (SMD) to computationally pull the machupo virus (MACV) spike
glycoprotein (GP1) away from the human transferrin receptor (hTfR1). We then
approximate affinity using the maximum applied force of separation and the area
under the force-versus-distance curve. We find, even without the rigor and
planning required for free energy calculations, that these quantities can
provide novel biophysical insight into the GP1/hTfR1 interaction. First, with
no prior knowledge of the system we can differentiate among wild type and
mutant complexes. Moreover, we show that this simple SMD scheme correlates well
with relative free energy differences computed via free energy perturbation.
Second, although the static co-crystal structure shows two large
hydrogen-bonding networks in the GP1/hTfR1 interface, our simulations indicate
that one of them may not be important for tight binding. Third, one viral site
known to be critical for infection may mark an important evolutionary
suppressor site for infection-resistant hTfR1 mutants. Finally, our approach
provides a framework to compare the effects of multiple mutations, individually
and jointly, on protein-protein interactions.Comment: 33 pages, 8 figures, 5 table
Mutant reduction based on dominance relation for weak mutation testing
Context: As a fault-based testing technique, mutation testing is effective at evaluating the quality of existing test suites. However, a large number of mutants result in the high computational cost in mutation testing. As a result, mutant reduction is of great importance to improve the efficiency of mutation testing. Objective: We aim to reduce mutants for weak mutation testing based on the dominance relation between mutant branches. Method: In our method, a new program is formed by inserting mutant branches into the original program. By analyzing the dominance relation between mutant branches in the new program, the non-dominated one is obtained, and the mutant corresponding to the non-dominated mutant branch is the mutant after reduction. Results: The proposed method is applied to test ten benchmark programs and six classes from open-source projects. The experimental results show that our method reduces over 80% mutants on average, which greatly improves the efficiency of mutation testing. Conclusion: We conclude that dominance relation between mutant branches is very important and useful in reducing mutants for mutation testing
- …