Home > Research > Publications & Outputs > Towards the practical mutation testing of Aspec...
View graph of relations

Towards the practical mutation testing of AspectJ programs

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Towards the practical mutation testing of AspectJ programs. / Ferrari, Fabiano; Rashid, Awais; Maldonado, José Carlos.
In: Science of Computer Programming, Vol. 78, No. 9, 01.09.2013, p. 1639-1662.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Ferrari, F, Rashid, A & Maldonado, JC 2013, 'Towards the practical mutation testing of AspectJ programs', Science of Computer Programming, vol. 78, no. 9, pp. 1639-1662. https://doi.org/10.1016/j.scico.2013.02.011

APA

Ferrari, F., Rashid, A., & Maldonado, J. C. (2013). Towards the practical mutation testing of AspectJ programs. Science of Computer Programming, 78(9), 1639-1662. https://doi.org/10.1016/j.scico.2013.02.011

Vancouver

Ferrari F, Rashid A, Maldonado JC. Towards the practical mutation testing of AspectJ programs. Science of Computer Programming. 2013 Sept 1;78(9):1639-1662. doi: 10.1016/j.scico.2013.02.011

Author

Ferrari, Fabiano ; Rashid, Awais ; Maldonado, José Carlos. / Towards the practical mutation testing of AspectJ programs. In: Science of Computer Programming. 2013 ; Vol. 78, No. 9. pp. 1639-1662.

Bibtex

@article{355c86c0bb7f4386bd7b5f26044811f2,
title = "Towards the practical mutation testing of AspectJ programs",
abstract = "Mutation testing is a test selection criterion that relies on the assumption that test cases which can reveal artificial faults in the software are also good to reveal the real ones. It helps to expose faults which would go otherwise unnoticed. This criterion has been shown to be a promising means to deal with testing-related specificities of contemporary programming techniques such as Aspect-Oriented Programming. However, to date the few initiatives for customising mutation testing for aspect-oriented (AO) programs show either limited coverage with respect to the range of simulated faults, or a need for both adequate tool support and proper evaluation in regard to properties like application cost and effectiveness. This article tackles these limitations by describing a comprehensive mutation-based testing approach for programs written in AspectJ, which represents the most investigated AO programming language to date. The approach encompasses the definition of a set of mutation operators for AspectJ-specific constructs and the implementation of a tool that automates the approach. The results of a preliminary evaluation study show that the mutation operators are able to simulate faults that may not be revealed by pre-existing, non-mutation-based test suites. The results also suggest that the approach seems not to overwhelm the testers and hence represents a step towards the practical fault-based testing of AspectJ-like programs.",
keywords = "Mutation testing, Aspect-oriented programming, AspectJ, Testing AspectJ programs, Test evaluation",
author = "Fabiano Ferrari and Awais Rashid and Maldonado, {Jos{\'e} Carlos}",
year = "2013",
month = sep,
day = "1",
doi = "10.1016/j.scico.2013.02.011",
language = "English",
volume = "78",
pages = "1639--1662",
journal = "Science of Computer Programming",
issn = "0167-6423",
publisher = "Elsevier",
number = "9",

}

RIS

TY - JOUR

T1 - Towards the practical mutation testing of AspectJ programs

AU - Ferrari, Fabiano

AU - Rashid, Awais

AU - Maldonado, José Carlos

PY - 2013/9/1

Y1 - 2013/9/1

N2 - Mutation testing is a test selection criterion that relies on the assumption that test cases which can reveal artificial faults in the software are also good to reveal the real ones. It helps to expose faults which would go otherwise unnoticed. This criterion has been shown to be a promising means to deal with testing-related specificities of contemporary programming techniques such as Aspect-Oriented Programming. However, to date the few initiatives for customising mutation testing for aspect-oriented (AO) programs show either limited coverage with respect to the range of simulated faults, or a need for both adequate tool support and proper evaluation in regard to properties like application cost and effectiveness. This article tackles these limitations by describing a comprehensive mutation-based testing approach for programs written in AspectJ, which represents the most investigated AO programming language to date. The approach encompasses the definition of a set of mutation operators for AspectJ-specific constructs and the implementation of a tool that automates the approach. The results of a preliminary evaluation study show that the mutation operators are able to simulate faults that may not be revealed by pre-existing, non-mutation-based test suites. The results also suggest that the approach seems not to overwhelm the testers and hence represents a step towards the practical fault-based testing of AspectJ-like programs.

AB - Mutation testing is a test selection criterion that relies on the assumption that test cases which can reveal artificial faults in the software are also good to reveal the real ones. It helps to expose faults which would go otherwise unnoticed. This criterion has been shown to be a promising means to deal with testing-related specificities of contemporary programming techniques such as Aspect-Oriented Programming. However, to date the few initiatives for customising mutation testing for aspect-oriented (AO) programs show either limited coverage with respect to the range of simulated faults, or a need for both adequate tool support and proper evaluation in regard to properties like application cost and effectiveness. This article tackles these limitations by describing a comprehensive mutation-based testing approach for programs written in AspectJ, which represents the most investigated AO programming language to date. The approach encompasses the definition of a set of mutation operators for AspectJ-specific constructs and the implementation of a tool that automates the approach. The results of a preliminary evaluation study show that the mutation operators are able to simulate faults that may not be revealed by pre-existing, non-mutation-based test suites. The results also suggest that the approach seems not to overwhelm the testers and hence represents a step towards the practical fault-based testing of AspectJ-like programs.

KW - Mutation testing

KW - Aspect-oriented programming

KW - AspectJ

KW - Testing AspectJ programs

KW - Test evaluation

U2 - 10.1016/j.scico.2013.02.011

DO - 10.1016/j.scico.2013.02.011

M3 - Journal article

VL - 78

SP - 1639

EP - 1662

JO - Science of Computer Programming

JF - Science of Computer Programming

SN - 0167-6423

IS - 9

ER -