Abstract
Aspect Oriented Programming (AOP) advocates the notion of aspects to encapsulate crosscutting concerns. A concern is a behavior in a computer program and is said to be crosscutting if the module(s) that address the behavior are scattered and tangled with other modules of the system. In this paper, we investigate the possibility of using AOP for software testing and non-invasive debugging. We have identified some crosscutting concerns like access control, logging, performance, tracing, etc., and developed a framework based on java bytecode instrumentation technique to inject these crosscutting concerns into the compiled code. The framework is available as a service, i.e., the service takes the required code as input and produces the changed code as output that contains the appropriate aspects. Thus, it is argued that the framework can be the basis for implementing the notion of “Enabling testing as a Service”.