DJProf is an experimental Java profiling tool which employs AspectJ to insert the necessary instrumentation for profiling rather than, for example, the Java Machine Profiler Interface (JVMPI). DJProf can be used to profile Java programs without modification (i.e. there is no need to recompile them for profiling) and does not require the user to have any knowledge of AspectJ. The Load-Time Weaving capability of AspectJ is utilised to make this possible. The tool (including its source code) is release under a very straightforward (and unrestrictive) license for the benefit of all.
E. Hilsdale, and J. Hugunin. Proceedings of the 3rd international conference on Aspect-oriented software development, page 26--35. New York, NY, USA, ACM, (2004)
M. Mezini, and K. Ostermann. SIGSOFT '04/FSE-12: Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering, page 127--136. New York, NY, USA, ACM, (2004)
G. Murphy, A. Lai, R. Walker, and M. Robillard. ICSE '01: Proceedings of the 23rd International Conference on Software Engineering, page 275--284. Washington, DC, USA, IEEE Computer Society, (2001)
D. Stein, S. Hanenberg, and R. Unland. AOSD '02: Proceedings of the 1st international conference on Aspect-oriented software development, page 106--112. New York, NY, USA, ACM Press, (2002)