Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Programming Language
Using Pointcut Delta Analysis to Support Evolution of Aspect-Oriented Software
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
AspectJ Cookbook
A framework and tool supports for generating test inputs of AspectJ programs
Proceedings of the 5th international conference on Aspect-oriented software development
Aspect-oriented software development
Aspect-oriented software development
Perspectives on automated testing of aspect-oriented programs
Proceedings of the 3rd workshop on Testing aspect-oriented programs
Generation of test requirements from aspectual use cases
Proceedings of the 3rd workshop on Testing aspect-oriented programs
Automated Inference of Pointcuts in Aspect-Oriented Refactoring
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Tool support for understanding and diagnosing pointcut expressions
Proceedings of the 7th international conference on Aspect-oriented software development
Hi-index | 0.00 |
Aspect-Oriented Programming (AOP) has been proposed as a methodology that provides new modularization of software systems by allowing encapsulation of cross-cutting concerns. AspectJ, an aspect-oriented programming language, provides two major constructs: advice and pointcuts. The scope of pointcuts spans across various objects instantiated from the classes. With the increase in the number of objects, classes, and integration of source code, it is likely that a developer writes a pointcut that does not serve its intended purpose. Therefore, there is a need to test pointcuts for validating the correctness of their expressions.In this paper, we propose APTE, an automated framework that tests pointcuts in AspectJ programs with the help of AJTE, an existing unit-testing framework without weaving. Our new APTE framework identifies joinpoints that satisfy a pointcut expression and a set of boundary joinpoints, which are events that do not satisfy a pointcut expression but are close to the matched joinpoints. The boundary joinpoints are identified as those unmatched join-point candidates whose distance from the matched joinpoints are less than a predefined threshold value. A developer could inspect these matched joinpoints and boundary joinpoints for correctness of the pointcuts.