Analysis of AspectJ Programs

Program Analysis is increasingly used to enhance program understanding and find flaws in programs. In contrast to testing, it can guaranteeproperties of a program. Up to now, in the context of program analysis, aspect oriented programming (AOP) has mostly been used for program instrumentation (tracing), but has not been itself subject to analytical methods. This paper identifies sources of flaws in AOP and suggests that program analysis could be used to avoid these pitfalls. The subject of this paper is not to present any solution for identified problems, but presents ideas how a solution might be approached.