A method, computer program product, and data processing system for
detecting and identifying data crossover errors in servlet code are
disclosed. According to a preferred embodiment, techniques of
aspect-oriented programming (AOP) are used to instrument JAVA Servlet
code to detect potential data crossover errors. Specifically, pointcuts
are defined to intercept both the association follow an object with a
particular session and the "getting" and "setting" of such objects.
Advice code associated with these pointcuts is used to update and/or
consult a "collator" data structure, which is used to determine if an
object or variable associated with one session is being accessed by a
different session. In a preferred embodiment, the AspectJ aspect-oriented
programming language/system is used to define the pointcuts and advice
code.