1. A computer-accessible storage medium including program instructions executable to implement a method comprising: receiving program code of a software application, wherein the program code includes bytecode for a virtual machine; automatically analyzing the bytecode to detect access to a database; and automatically adding additional bytecode to the bytecode of the software application, wherein the added bytecode is operable to determine information regarding the access to the database.