Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1146374.1146379acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

APTE: automated pointcut testing for AspectJ programs

Published: 20 July 2006 Publication History

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

[1]
K. Arnold, J. Gosling, and D. Holmes. The Java Programming Language. Addison-Wesley Longman, 2000.
[2]
R. V. Binder. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, 1999.
[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]
T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Online manual, 2001.
[9]
C. V. Lopes and T. Ngo. Unit testing aspectual behavior. In Proc. AOSD 05 Workshop on Testing Aspect-Oriented Programs, March 2005.
[10]
R. Miles. AspectJ Cookbook. O'Reilly, 2004.
[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]
M. Störzer and J. Graf. Using pointcut delta analysis to support evolution of aspect-oriented software. In Proc. International Conference on Software Maintenance, pages 653--656, 2005.
[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]
T. Xie and J. Zhao. A framework and tool supports for generating test inputs of aspectj programs. In Proc. 5th International Conference on Aspect-Oriented Software Development (AOSD 2006), pages 190--201, March 2006.
[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.

Cited By

View all
  • (2018)A Review of Software Testing Approaches in Object-Oriented and Aspect-Oriented SystemsSoftware Engineering10.1007/978-981-10-8848-3_46(487-496)Online publication date: 13-Jun-2018
  • (2008)Tool support for understanding and diagnosing pointcut expressionsProceedings of the 7th international conference on Aspect-oriented software development10.1145/1353482.1353500(144-155)Online publication date: 31-Mar-2008
  • (2008)Automated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ ProgramsProceedings of the 2008 19th International Symposium on Software Reliability Engineering10.1109/ISSRE.2008.58(239-248)Online publication date: 10-Nov-2008
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
WTAOP '06: Proceedings of the 2nd workshop on Testing aspect-oriented programs
July 2006
44 pages
ISBN:1595934154
DOI:10.1145/1146374
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 July 2006

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ISSTA06

Acceptance Rates

Overall Acceptance Rate 5 of 6 submissions, 83%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2018)A Review of Software Testing Approaches in Object-Oriented and Aspect-Oriented SystemsSoftware Engineering10.1007/978-981-10-8848-3_46(487-496)Online publication date: 13-Jun-2018
  • (2008)Tool support for understanding and diagnosing pointcut expressionsProceedings of the 7th international conference on Aspect-oriented software development10.1145/1353482.1353500(144-155)Online publication date: 31-Mar-2008
  • (2008)Automated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ ProgramsProceedings of the 2008 19th International Symposium on Software Reliability Engineering10.1109/ISSRE.2008.58(239-248)Online publication date: 10-Nov-2008
  • (2007)Generation of test requirements from aspectual use casesProceedings of the 3rd workshop on Testing aspect-oriented programs10.1145/1229384.1229388(17-22)Online publication date: 12-Mar-2007
  • (2007)Perspectives on automated testing of aspect-oriented programsProceedings of the 3rd workshop on Testing aspect-oriented programs10.1145/1229384.1229386(7-12)Online publication date: 12-Mar-2007
  • (2007)Automated Inference of Pointcuts in Aspect-Oriented RefactoringProceedings of the 29th international conference on Software Engineering10.1109/ICSE.2007.19(127-136)Online publication date: 24-May-2007
  • (2006)Efficient Mutant Generation for Mutation Testing of Pointcuts in Aspect-Oriented ProgramsProceedings of the Second Workshop on Mutation Analysis10.1109/MUTATION.2006.3Online publication date: 7-Nov-2006

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media