Title of article :
On generating mutants for AspectJ programs
Author/Authors :
Wedyan، نويسنده , , Fadi and Ghosh، نويسنده , , Sudipto، نويسنده ,
Issue Information :
ماهنامه با شماره پیاپی سال 2012
Abstract :
Context
on analysis has been widely used in research studies to evaluate the effectiveness of test suites and testing techniques. Faulty versions (i.e., mutants) of a program are generated such that each mutant contains one seeded fault. The mutation score provides a measure of effectiveness.
ive
dy three problems with the use of mutation analysis for testing AspectJ programs:•
nual identification and removal of equivalent mutants is difficult and time consuming. We calculate the percentage of equivalent mutants generated for benchmark AspectJ programs using available mutation tools.
nerated mutants need to cover the various fault types described in the literature on fault models for AspectJ programs. We measure the distribution of the mutants generated using available mutation tools with respect to the AspectJ fault types.
sure the difficulty of killing the generated mutants.
pose the use of simple analysis of the subject programs to prevent the generation of some equivalent mutants.
ised existing AspectJ fault models and presented a fault model that removes the problems in existing fault models, such as overlapping between fault types and missing fault types. We also defined three new fault types that occur due to incorrect data-flow interactions occurring in AspectJ programs. We used three mutation tools: AjMutator, Proteum/AJ, and MuJava on three AspectJ programs. To measure the difficulty of killing the mutants created using a mutation operator, we compared the average number of the mutants killed by 10 test suites that satisfy block coverage criterion.
s
percentage of the mutants are equivalent. The mutation tools do not cover all the fault types. Only 4 out of 27 operators generated mutants that were easy to kill.
sions
alysis approach removed about 80% of the equivalent mutants. Higher order mutation is needed to cover all the fault types.
Keywords :
AspectJ , Fault models , Test generation , High order mutation , Aspect-oriented programming , mutation testing
Journal title :
Information and Software Technology
Journal title :
Information and Software Technology