Home > Research > Publications & Outputs > Mutation testing for aspect-oriented programs
View graph of relations

Mutation testing for aspect-oriented programs

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published
Close
Publication date2008
Host publicationSoftware Testing, Verification, and Validation, 2008 1st International Conference on
PublisherIEEE Publishing
Pages52-61
Number of pages10
ISBN (print)978-0-7695-3127-4
<mark>Original language</mark>English
EventFirst International Conference on Software Testing, Verification, and Validation, ICST 2008 - Lillehammer, Norway
Duration: 9/04/200811/04/2008

Conference

ConferenceFirst International Conference on Software Testing, Verification, and Validation, ICST 2008
Country/TerritoryNorway
CityLillehammer
Period9/04/0811/04/08

Conference

ConferenceFirst International Conference on Software Testing, Verification, and Validation, ICST 2008
Country/TerritoryNorway
CityLillehammer
Period9/04/0811/04/08

Abstract

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 language 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.