Using mutation to design tests for aspect-oriented modelsShow others and affiliations
2017 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 81, p. 112-130Article in journal (Refereed) Published
Abstract [en]
Context: Testing for properties such as robustness or security is complicated because their concerns are often repeated in many locations and muddled with the normal code. Such “cross-cutting concerns” include things like interrupt events, exception handling, and security protocols. Aspect-oriented (AO) modeling allows developers to model the cross-cutting behavior independently of the normal behavior, thus supporting model-based testing of cross-cutting concerns. However, mutation operators defined for AO programs (source code) are usually not applicable to AO models (AOMs) and operators defined for models do not target the AO features. Objective: We present a method to design abstract tests at the aspect-oriented model level. We define mutation operators for aspect-oriented models and evaluate the generated mutants for an example system. Method: AOMs are mutated with novel operators that specifically target the AO modeling features. Test traces killing these mutant models are then generated. The generated and selected traces are abstract tests that can be transformed to concrete black-box tests and run on the implementation level, to evaluate the behavior of the woven cross-cutting concerns (combined aspect and base models). Results: This paper is a significant extension of our paper at Mutation 2015. We present a complete fault model, additional mutation operators, and a thorough analysis of the mutants generated for an example system. Conclusions: The analysis shows that some mutants are stillborn (syntactically illegal) but none is equivalent (exhibiting the same behavior as the original model). Additionally, our AOM-specific mutation operators can be combined with pre-existing operators to mutate code or models without any overlap.
Place, publisher, year, edition, pages
2017. Vol. 81, p. 112-130
Keywords [en]
Aspect-oriented model, Model-based testing, Mutation testing, Codes (symbols), Model checking, Network security, Aspect oriented modeling, Cross-cutting concerns, Exception handling, Model based testing, Modeling features, Mutation operators, Security protocols, Testing
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:ri:diva-29392DOI: 10.1016/j.infsof.2016.04.007Scopus ID: 2-s2.0-84963813590OAI: oai:DiVA.org:ri-29392DiVA, id: diva2:1093713
2017-05-082017-05-082019-01-22Bibliographically approved