Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Automated test data generation for aspect-oriented programs
Proceedings of the 8th ACM international conference on Aspect-oriented software development
An exploratory study of fault-proneness in evolving aspect-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Automating the mutation testing of aspect-oriented Java programs
Proceedings of the 5th Workshop on Automation of Software Test
Efficient multi-objective higher order mutation testing with genetic programming
Journal of Systems and Software
Testing techniques in software engineering
Testing techniques in software engineering
Proteum/AJ: a mutation system for AspectJ programs
Proceedings of the tenth international conference on Aspect-oriented software development companion
A pointcut-based coverage analysis approach for aspect-oriented programs
Information Sciences: an International Journal
A fine-grained debugger for aspect-oriented programming
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
On generating mutants for AspectJ programs
Information and Software Technology
Testing aspect-oriented programs with finite state machines
Software Testing, Verification & Reliability
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
A fine-grained, customizable debugger for aspect-oriented programming
Transactions on Aspect-Oriented Software Development X
Hi-index | 0.00 |
Mutation testing has been shown to be one of the strongest testing criteria for the evaluation of both programs and test suites. Comprehensive sets of mutants require strong test sets to achieve acceptable testing coverage. Moreover, mutation operators are valuable for the evaluation of other testing approaches. Although its importance has been highlighted for Aspect-Oriented (AO) programs, there is still a need for a suitable set of mutation operators for AO languages. The quality of the mutation testing itself relies on the quality of such operators. This paper presents the design of a set of mutation operators for AspectJ-based programs. These operators model instances of fault types identified in an extensive survey. The fault types and respective operators are grouped according to the related languages features. We also discuss the generalisation of the fault types to AO approaches other than AspectJ and the coverage that may be achieved with the application of the proposed operators. In addition, a cost analysis based on two case studies involving real-world applications has provided us feedback on the most expensive operators, which will support the definition of further testing strategies.