ABSTRACT

This Aspect-Oriented Programming style can be described as “restrained reflection” for the specific purpose of injecting arbitrary code before and after designated points of existing programs. One reason for doing that might be not having access to, or not wanting to modify, the source code while wanting to add additional functionality to the program’s functions; another reason might be to simplify development by localizing code that is usually scattered throughout the program. The machinery for profiling is in place, but it is still not enough. The last piece that is missing is the expression of our intent about profiling the functions of our program. Again, this can be done in a number of different ways. Typical aspects are tracing and profiling. Over the years, people have used this concept to localize in one place of their programs functionality that would be scattered otherwise.