2006 · 78 citations · 15 references
ComputingComputer EngineeringComputer ScienceProgramming LanguagesSoftware EngineeringSystems ProgrammingAspect AnalysisModel CheckingSoftware TestingAbstract SemanticsAspectAspect-oriented ProgrammingAspect-oriented ReuseState ModelsState-transition Models
Taking aspects as incremental modifications to their base classes, this paper presents an incremental approach to testing whether or not aspect-oriented programs and their base classes conform to their respective behavior models. We exploit a rigorous aspect-oriented extension to state models for capturing the impact of aspects on the state transitions of base class objects as well as an explicit weaving mechanism for composing aspects into their base models. We generate abstract tests for base classes and aspect-oriented programs from their state models. As base class tests are not necessarily valid for aspect-oriented programs, we identify several rules for maximizing reuse of concrete base class tests for aspects according to the state-based impact of aspects on their base classes. To illustrate our approach, we use two examples that indicate distinctive types of aspect-oriented applications and exhibit fundamental features in complex applications: aspects removing state transitions from base classes and aspects adding and modifying state transitions in base classes. Our results show that majority of base class tests can be reused for aspects, but subtle modifications to some of them are necessary. In particular, positive (or negative) base class tests can become negative (or positive) aspect tests. We also discuss how several types of aspect-specific faults can be revealed by the state-based testing.
15
Object-oriented software construction
Pierre America · Science of Computer Programming · 1989 · 2K citations
Model-based testing in practice
Siddhartha R. Dalal, Ashish Jain, N. Karunanithi et al. · 1999 · 512 citations · Full text
Social Sciences, Health Sciences, Health Services Research +6
One evaluation of model-based testing and its automation
Alexander Pretschner, Wolfgang Prenninger, Stefan Wagner et al. · 2005 · 201 citations · Full text
A UML-based aspect-oriented design notation for AspectJ
Dominik Stein, Stefan Hanenberg, Rainer Unland · 2002 · 162 citations
Computing, Computer Science, Design +10
Data-flow-based unit testing of aspect-oriented programs
Jianjun Zhao · 2004 · 106 citations