skip to main content
10.1145/1275672.1275677acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Test-based pointcuts: a robust pointcut mechanism based on unit test cases for software evolution

Published: 12 March 2007 Publication History

Abstract

This paper proposes test-based pointcuts, a new aspect-oriented programming language construct that uses unit test cases as interface of crosscutting concerns. A test-based pointcut primarily specifies a set of test cases associated to a program. At execution time, it matches the join points that have the same execution history to the one of the specified test cases. The test-based approach improves pointcut definitions in two respects. First, test-based pointcuts are less fragile with respect to program changes because rather than directly relying on type and operation names in a program, they indirectly specify join points through unit test cases, which are easier to be kept up-to-date. Second, test-based pointcuts can discriminate execution histories without requiring to specify detailed execution steps, as they use test cases as abstractions of execution histories. With the abstractions, the second respect contributes to the first respect. We designed and implemented the test-based pointcuts as an extension to AspectJ, and confirmed, through an case study, test-based pointcuts are more robust against evolution when used for a practical application program.

References

[1]
j-ftp. http://j-ftp.sourceforge.net/.
[2]
JUnit. http://www.junit.org/.
[3]
J. Aldrich. Open Modules: Modular Reasoning about Advice. In ECOOP '05, pages 144--168, July 2005.
[4]
P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc: An extensible AspectJ compiler. In AOSD '05, pages 87--98, 2005.
[5]
W. G. Griswold, K. Sullivan, Y. Song, M. Shonle, N. Tewari, Y. Cai, and H. Rajan. Modular Software Design with Crosscutting Interfaces. IEEE Software, 23(1):51--60, 2006.
[6]
A. Kellens, K. Mems, J. Brichau, and K. Gybels. Managing the Evolution of Aspect-Oriented Software with Model-based Pointcuts. In ECOOP '06, pages 501--525, 2006.
[7]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In ECOOP '01, pages 327--353, 2001.
[8]
G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In ICSE '05, pages 49--58, 2005.
[9]
G. Kiczales and M. Mezini. Separation of Concerns with Procedures, Annotations, Advice and Pointcuts. In ECOOP '05, pages 195--213, July 2005.
[10]
M. Stoerzer and J. Graf. Using Pointcut Delta Analysis to Support Evolution of Aspect-Oriented Software. In ICSM '05, pages 653--656, 2005.

Cited By

View all
  • (2014)Improving the Quality of AspectJ ApplicationProceedings of the 2014 14th International Conference on Quality Software10.1109/QSIC.2014.34(27-36)Online publication date: 2-Oct-2014
  • (2010)Modular aspect-oriented design with XPIsACM Transactions on Software Engineering and Methodology10.1145/1824760.182476220:2(1-42)Online publication date: 8-Sep-2010
  • (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
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
LATE '07: Proceedings of the 3rd workshop on Linking aspect technology and evolution
March 2007
43 pages
ISBN:9781595936554
DOI:10.1145/1275672
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 March 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming language
  2. fragile pointcut problem
  3. test-based pointcuts
  4. unit test cases

Qualifiers

  • Article

Conference

AOSD07
AOSD07: 6th International Conference on Aspect-Oriented Software Development
March 12 - 16, 2007
British Columbia, Vancouver, Canada

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Improving the Quality of AspectJ ApplicationProceedings of the 2014 14th International Conference on Quality Software10.1109/QSIC.2014.34(27-36)Online publication date: 2-Oct-2014
  • (2010)Modular aspect-oriented design with XPIsACM Transactions on Software Engineering and Methodology10.1145/1824760.182476220:2(1-42)Online publication date: 8-Sep-2010
  • (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)Test-based pointcuts for robust and fine-grained join point specificationProceedings of the 7th international conference on Aspect-oriented software development10.1145/1353482.1353494(96-107)Online publication date: 31-Mar-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media