skip to main content
research-article

Crosscutting invariant and an efficient checking algorithm using program slicing

Published:01 February 2008Publication History
Skip Abstract Section

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.Google ScholarGoogle Scholar
  2. R E Filman, D P Friedman. Aspect-Oriented Programming is Quantification and Obliviousness. OOPSLA, 2000.Google ScholarGoogle Scholar
  3. D L Parnas. On the Criteria to be used in decomposing systems into modules. Communications of the ACM, 1972, 15(12), 1053--1058. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. http://www.eclipse.org/aspectj/.Google ScholarGoogle Scholar
  5. D Balzarotti and M Monga. Using program slicing to analyze aspect-oriented composition. AOSD, 2004.Google ScholarGoogle Scholar
  6. B H Liskov and J M Wing. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  8. R B Findler and M Felleisen. Contract Soundness for Object-Oriented Languages. OOPSLA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Dean Wampler. Contract4J for Design by Contract in Java:Design Pattern-Like Protocols and Aspect Interfaces. AOSD, 2006.Google ScholarGoogle Scholar
  10. http://jakarta.apache.org/commons/jexl/Google ScholarGoogle Scholar
  11. M Weiser. Program slicing. In Proceedings of the 5th International Conference on Software Engineering, pages 439--449. IEEE Computer Society Press, Mar. 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  13. D Balzarotti, A Castaldo D'Ursi, L Cavallaro, and M Monga. Slicing Aspect Woven Code. AOSD, 2005.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  15. Y ICHISUGI, A TANAKA and T WATANABE. Extension Rules: Description Rules for Safely Composable Aspects. Technical Report AIST01-J00002-4, Feb 2003.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar

Index Terms

  1. Crosscutting invariant and an efficient checking algorithm using program slicing

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  • Article Metrics

                    • Downloads (Last 12 months)0
                    • Downloads (Last 6 weeks)0

                    Other Metrics

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader
                  About Cookies On This Site

                  We use cookies to ensure that we give you the best experience on our website.

                  Learn more

                  Got it!