12,000

We have over 12,000 students, from over 100 countries, within one of the safest campuses in the UK

93%

93% of Lancaster students go into work or further study within six months of graduating

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

« Back

Mutation testing for aspect-oriented programs

Research output: Contribution in Book/Report/ProceedingsPaper

Published

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
Original languageEnglish

Conference

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

Conference

ConferenceFirst International Conference on Software Testing, Verification, and Validation, ICST 2008
CountryNorway
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.