ACM Home Page
Please provide us with feedback. Feedback
APTE: automated pointcut testing for AspectJ programs
Full text PdfPdf (252 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2nd workshop on Testing aspect-oriented programs table of contents
Portland, Maine
Pages: 27 - 32  
Year of Publication: 2006
ISBN:1-59593-415-4
Authors
Prasanth Anbalagan  North Carolina State University, Raleigh, NC
Tao Xie  North Carolina State University, Raleigh, NC
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 26,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1146374.1146379
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
M. Dahm and J. van Zyl. Byte Code Engineering Library, April 2003. http://jakarta.apache.org/bcel/.
 
4
Eclipse. AspectJ compiler 1.5, May 2005. http://eclipse.org/aspectj/.
 
5
R. E. Filman and T. Elrad. Aspect Oriented Software Development. Addison-Wesley Publishing Co., Inc.,, 2005.
 
6
A. Kellens, K. Gybels, J. Brichau, and K. Mens. A model-driven pointcut language for more robust pointcuts. In Proc. Workshop on Software Engineering Properties of Languages for Aspect Technology (SPLAT), March 2006.
 
7
C. Koppen and M. Stoerzer. PCDiff: Attacking the fragile pointcut problem. In Proc. 1st European Interactive Workshop on Aspects in Software (EIWAS), July 2004.
 
8
 
9
C. V. Lopes and T. Ngo. Unit testing aspectual behavior. In Proc. AOSD 05 Workshop on Testing Aspect-Oriented Programs, March 2005.
 
10
 
11
M. Mortensen and R. T. Alexander. An approach for adequate testing of AspectJ programs. In Proc. AOSD 05 Workshop on Testing Aspect-Oriented Programs, March 2005.
 
12
 
13
Sun Microsystems. Java Reflection API. Online manual, 2001.
 
14
Sun Microsystems. Java 2 platform standard edition v1.4.2 API specification, 2003. http://java.sun.com/j2se/1.4.2/docs/api/.
 
15
The AspectJ Team. The AspectJ programming guide. Online manual, 2003.
16
 
17
Y. Yamazaki, K. Sakurai, S. Matsuura, H. Masuhara, H. Hashiura, and S. Komiya. A unit testing framework for aspects without weaving. In Proc. 1st Workshop on Testing Aspect-Oriented Programs (WTAOP), March 2005.


Collaborative Colleagues:
Prasanth Anbalagan: colleagues
Tao Xie: colleagues