skip to main content
research-article

Crosscutting invariant and an efficient checking algorithm using program slicing

Published: 01 February 2008 Publication History

Abstract

Owing to the characteristics of quantification and obliviousness, modular behavioral analysis and modular reasoning in aspect-oriented language are more difficult than that of traditional paradigms. Similar to the method of Design by Contract in object-oriented language, we annotate crosscutting modules and affected modules with pre-conditions and post-conditions. Because assigning blame for pre-condition and post-condition failures during the process of crosscutting is subtle and complex, we introduce a notion of crosscutting invariant and a checking algorithm based on this notion. Since there are some repeated contract checks in the original algorithm, we use the technology of program slicing to search those unnecessary repeat checks and delete them. We also represent an example to represent the algorithm and its improvement.

References

[1]
G Kiczales, J Lamping, A Mendhekar, C Maeda, C Lopes, J M Loingtier and J Irwin. Aspect-oriented Programming. ECOOP, 1997.
[2]
R E Filman, D P Friedman. Aspect-Oriented Programming is Quantification and Obliviousness. OOPSLA, 2000.
[3]
D L Parnas. On the Criteria to be used in decomposing systems into modules. Communications of the ACM, 1972, 15(12), 1053--1058.
[4]
http://www.eclipse.org/aspectj/.
[5]
D Balzarotti and M Monga. Using program slicing to analyze aspect-oriented composition. AOSD, 2004.
[6]
B H Liskov and J M Wing. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems, 1994.
[7]
B H Liskov and J M Wing. Behavioral subtyping using invariants and constraints. Technical Report CMU CS-99-156, School of Computer Science, Carnegie Mellon University, July 1999.
[8]
R B Findler and M Felleisen. Contract Soundness for Object-Oriented Languages. OOPSLA, 2001.
[9]
Dean Wampler. Contract4J for Design by Contract in Java:Design Pattern-Like Protocols and Aspect Interfaces. AOSD, 2006.
[10]
http://jakarta.apache.org/commons/jexl/
[11]
M Weiser. Program slicing. In Proceedings of the 5th International Conference on Software Engineering, pages 439--449. IEEE Computer Society Press, Mar. 1981.
[12]
J. Zhao. Slicing aspect-oriented software. In Proceedings of the International Workshop on Principles of Software Evolution IWPSE 2002, Orlando, Florida, May 2002. ACM.
[13]
D Balzarotti, A Castaldo D'Ursi, L Cavallaro, and M Monga. Slicing Aspect Woven Code. AOSD, 2005.
[14]
J. Zhao. Applying program dependence analysis to java software. In Proc. Workshop on Software Engineering and Database Systems, pages 162--169, Taiwan, December 1998.
[15]
Y ICHISUGI, A TANAKA and T WATANABE. Extension Rules: Description Rules for Safely Composable Aspects. Technical Report AIST01-J00002-4, Feb 2003.
[16]
L Blair and M Monga. Reasoning on AspectJ programmes. In Proceedings of Workshop on Aspect-Oriented Software Development, pages 45--50, Essen, Germany, Mar. 2003.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 43, Issue 2
February 2008
30 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1361213
Issue’s Table of Contents
Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 February 2008
Published in SIGPLAN Volume 43, Issue 2

Check for updates

Author Tags

  1. aspect-oriented language
  2. crosscutting interference
  3. crosscutting quality
  4. crosscutting safety

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

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