skip to main content
A template-based approach to detecting problems in aspect weaving
Publisher:
  • University of Texas at Dallas
  • Computer Science P.O. Box 688 Richardson, TX
  • United States
ISBN:978-1-124-59180-3
Order Number:AAI3450497
Pages:
171
Bibliometrics
Skip Abstract Section
Abstract

Aspect-Oriented Programming (AOP) is an established programming paradigm for addressing crosscutting concerns, which cannot be successfully modularized using traditional decomposition paradigms like Object or Service Orientations. Using AOP, crosscutting concerns are extracted from a base program into Aspects. The aspects can be weaved back into the base program to incorporate the crosscutting behaviors.

However, during implementation aspect weaving does not necessarily yield the desired results. In other words, the aspect weaving process not only introduces crosscutting behaviors but also introduces problems into a software system. Many semantic problems regarding aspect weaving have been identified in the AOP community. The problems usually share two common properties. First, these problems are non-language specific (which literally means that the same semantic problems exhibit in many different AOP implementation languages). Second, they are all be related to the three identified characteristics of aspects, which are Arbitrariness, Obliviousness and Presumptiveness. These problems are collectively referred to as Aspect Weaving Problems (AWPs).

Different methods/tools have been developed for detections of the AWPs. In practice, however, effective and efficient detections are difficult to achieve due to the following facts. First, the developers have to constantly switch between different methods/tools for detections of different problems. This is a complex, time consuming and error-prone process. Second, some of the methods/tools based on semantic inference may produce spurious detections results. Besides, the expertise of the developers on using such inference methods and their understandings of program semantics decide the success of the detections. Finally, the developers have to be trained to be able to master various sets of methods/tools to detect different problems, which could incur considerable production cost.

The above limitations led to my work. My research is a first dedicated effort on systematic investigation on AWPs at the code level (specifically at the AspectJ code level) to ensure the correctness of an AOP program. For my research, I developed a template based approach towards the detection of the problems in aspect weaving.

Contributors
  • The University of British Columbia
  • The University of Texas at Dallas

Recommendations